zoukankan      html  css  js  c++  java
  • scrapy初试水 day03(递归调用)

    import scrapy
    from scrapy.http import Request
    from scrapy.spider import Rule
    from scrapy.linkextractors import LinkExtractor
    # yield 就是return返回的是一个生成器
    # 递归:1.修改allowed_domains,里面不能随便写,和正则匹配一样,链接必须满足allowed_domains里的格式
    # 2.request = Request(urls[0], callback=self.parse)#回调自己的parse方法
    # yield request
    class DmozSpider(scrapy.Spider):
    name = "use_scrapy_recursion" #要调用的名字
    allowed_domains = ["zhaopin.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):
    print('-------处理职位-----------')
    hxsObj = response.xpath('//a[@class="next-page"]')
    print('---------------------')
    if len(hxsObj)==1:
    urls = hxsObj[0].select("@href").extract()
    text = hxsObj[0].select("text()").extract()
    print(urls[0])
    print(text)
    request = Request(urls[0], callback=self.parse)#回调自己的parse方法
    yield request

  • 相关阅读:
    qq
    构造方法
    Java模块化开发
    q
    qqq
    qq
    qqq
    Git服务器搭建及SSH无密码登录设置
    php面向对象中的魔术方法中文说明
    计算机中丢失 msvcr110.dll 怎么办
  • 原文地址:https://www.cnblogs.com/qieyu/p/7922987.html
Copyright © 2011-2022 走看看