用python进行多页数据爬取_Python Scrapy多页数据爬取实现过程解析

1.先指定通用模板

url = 'https://www.qiushibaike.com/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 = ['www.xxx.com']

start_urls = ['https://www.qiushibaike.com/text/']

url = 'https://www.qiushibaike.com/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]/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提交给管道

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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值