zoukankan      html  css  js  c++  java
  • 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()) # 取长度

  • 相关阅读:
    驯服 Tiger: 并发集合 超越 Map、Collection、List 和 Set
    模块化Java:声明式模块化
    模块化Java:静态模块化
    用 Apache Tika 理解信息内容
    Refactoring: Encapsulate Collection
    新型的几乎万能的数据结构CDO
    CDO数据结构基础(1) 转载
    模块化Java简介(转载infoq)
    模块化Java:动态模块化
    责任链模式(C++)
  • 原文地址:https://www.cnblogs.com/qieyu/p/7912101.html
Copyright © 2011-2022 走看看