Python Scrapy多页数据爬取实现过程解析
1.先指定通用模板
url='https://www.qiushibaike.com/text/page/%d/'#通用的url模板
pageNum=1
2.对parse方法递归处理
parse第一次调用表示的是用来解析第一页对应页面中的数据
对后面的页码的数据要进行手动发送
ifself.pageNum<=5: self.pageNum+=1 new_url=format(self.url%self.pageNum) #手动请求(get)的发送 yieldscrapy.Request(new_url,callback=self.parse)
完整示例
classQiubaiSpider(scrapy.Spider):
name='qiubai'
#allowed_domains=['www.xxx.com']
start_urls=['https://www.qiushibaike.com/text/']
url='https://www.qiushibaike.com/text/page/%d/'#通用的url模板
pageNum=1
#parse第一次调用表示的是用来解析第一页对应页面中的段子内容和作者
defparse(self,response):
div_list=response.xpath('//*[@id="content-left"]/div')
all_data=[]
fordivindiv_list:
author=div.xpath('./div[1]/a[2]/h2/text()').extract_first()
content=div.xpath('./a[1]/div/span//text()').extract()
content=''.join(content)
#将解析的数据存储到item对象
item=QiubaiproItem()
item['author']=author
item['content']=content
#将item提交给管道
yielditem#item一定是提交给了优先级最高的管道类
ifself.pageNum<=5:
self.pageNum+=1
new_url=format(self.url%self.pageNum)
#手动请求(get)的发送
yieldscrapy.Request(new_url,callback=self.parse)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。