失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 用python进行多页数据爬取_Python Scrapy如何实现多页数据爬取?

用python进行多页数据爬取_Python Scrapy如何实现多页数据爬取?

时间:2021-12-13 06:51:59

相关推荐

用python进行多页数据爬取_Python Scrapy如何实现多页数据爬取?

Python Scrapy如何实现多页数据爬取?

发布时间:-06-23 11:47:46

来源:亿速云

阅读:112

作者:清晨

这篇文章将为大家详细讲解有关Python Scrapy如何实现多页数据爬取?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1.先指定通用模板url = '/text/page/%d/'#通用的url模板

pageNum = 1

2.对parse方法递归处理

parse第一次调用表示的是用来解析第一页对应页面中的数据

对后面的页码的数据要进行手动发送

if self.pageNum <= 5:

self.pageNum += 1

new_url = format(self.url%self.pageNum)

#手动请求(get)的发送

yield scrapy.Request(new_url,callback=self.parse)

完整示例

class QiubaiSpider(scrapy.Spider):

name = 'qiubai'

# allowed_domains = ['']

start_urls = ['/text/']

url = '/text/page/%d/'#通用的url模板

pageNum = 1

#parse第一次调用表示的是用来解析第一页对应页面中的段子内容和作者

def parse(self, response):

div_list = response.xpath('//*[@id="content-left"]/div')

all_data = []

for div in div_list:

author = div.xpath('./div[1]/a[2]/h3/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提交给管道

yield item # item一定是提交给了优先级最高的管道类

if self.pageNum <= 5:

self.pageNum += 1

new_url = format(self.url%self.pageNum)

#手动请求(get)的发送

yield scrapy.Request(new_url,callback=self.parse)

关于Python Scrapy如何实现多页数据爬取?就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

如果觉得《用python进行多页数据爬取_Python Scrapy如何实现多页数据爬取?》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。