案例
需求:爬取评论页面第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)