scrapy 同时爬取多url方法实例

案例

需求:爬取评论页面第1页到第10页内容 一共爬10个url

思路

递归调用parse 直到每个页面爬取完

方法

class QiubaiSpider(scrapy.Spider):
    name = 'qiubai'
    # allowed_domains = ['www.qiushibaike.com/text']
    start_urls = ['https://www.qiushibaike.com/text/']

    # 设计一个url模板
    url = 'https://www.qiushibaike.com/text/page/%d/'
    pageNum = 1

    def parse(self, response):
        div_list = response.xpath("//div[@id='content-left']/div")
        for div in div_list:
            ....
            # 将item提交给管道
            yield item

        # 多url, 请求的手动发送
        if self.pageNum <= 13:  # 控制!否则无限递归了。。
            self.pageNum += 1
            print('爬第:%d 页' % self.pageNum)
            new_url = self.url % self.pageNum
            # callback 回调函数,页面进行解析
            yield scrapy.Request(url=new_url, callback=self.parse)

你可能感兴趣的:(爬虫)