• scrapy初试水 day02(正则提取)


    1.处理方式 法一 通过HtmlXPathSelector
    import scrapy
    from scrapy.selector import HtmlXPathSelector
    class DmozSpider(scrapy.Spider):
    name = "use_scrapy" #要调用的名字
    allowed_domains = ["use_scrapy.com"] #分一个域
    start_urls = [#所有要爬路径
    "http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E5%8C%97%E4%BA%AC&kw=python&sm=0&p=1"
    ]
    #每爬完一个网页会回调parse方法
    def parse(self, response):
    hxs=HtmlXPathSelector(response)
    print('_________________________')
    hxsobj=hxs.select('//td[@class="zwmc"]/div/a')
    print(hxsobj[0].select("@href").extract())#获取链接
    print(hxsobj[0].select("text()").extract())#获取文本
    # .extract()是显示网页的原文
    print(len(hxsobj)) # 取长度
    # 后面用for循环
    for i in range(len(hxsobj)):
    print(hxsobj[i].select("@href").extract())
    2.处理方式 法二 .path或.css
    import scrapy
    class DmozSpider(scrapy.Spider):
    name = "use_scrapy01" #要调用的名字
    allowed_domains = ["use_scrapy.com"] #分一个域
    start_urls = [#所有要爬路径
    "http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E5%8C%97%E4%BA%AC&kw=python&sm=0&p=1"
    ]
    #每爬完一个网页会回调parse方法
    def parse(self, response):
    hx=response.xpath('//td[@class="zwmc"]/div/a[contains(@href, "450836980250071")]')
    #选取href里有"450836..."
    print('_________________________')
    print(hx[0].select("@href").extract()) # 取长度
    print(hx[0].select("text()").extract()) # 取长度

  • 相关阅读:
    C Language Study
    html学习笔记五
    [CS]C#操作word
    bzoj2502 清理雪道
    Android Studio怎样查看资源或者函数在哪些类中被引用
    jvm载入过程
    poj2513(无向图判欧拉路)
    7 天玩转 ASP.NET MVC — 第 2 天
    从头认识java-18.2 主要的线程机制(7)join
    启动MFC程序的时候报错:0xC0000005: 读取位置 0x00000000 时发生访问冲突
  • 原文地址:https://www.cnblogs.com/qieyu/p/7912101.html
Copyright © 2020-2023  润新知