scrapy 同時爬取多url方法例項
阿新 • • 發佈:2018-11-17
案例
需求:爬取評論頁面第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)