scrapy的手动请求发送实现全站数据爬取

本文介绍了如何使用Scrapy进行手动请求,以爬取一个段子库的全站数据。首先,文章说明了Scrapy在访问和数据分析上的基本操作,然后详细阐述了如何处理分页问题,通过手动发送GET/POST请求来遍历所有页面。作者创建了一个测试工程,并在爬虫文件中进行了相应的修改,包括设置解析函数、递归处理页码等。在手动请求部分,提到了callback的使用和formdata参数的设置。最后,作者分享了完整代码,并对遇到的问题进行了总结,指出在解析时要注意某些内容可能嵌套在其他元素中导致解析异常。
摘要由CSDN通过智能技术生成

测试

目的是使用scrapy爬取段子库单品类全数据。

结构

scrapy能够访问和数据分析,问题在于怎么去到下一页再次调用。一是手动将分页网址粘贴到start_urls中,一是使用手动发送请求。

  • 创建测试工程,创建爬虫文件,settings.py三步修改

在这里插入图片描述

  • 对段子库中对应页码网址的数据进行爬取解析

在这里插入图片描述

  • 修改items.py,回到爬虫文件导入模块并提交管道

在这里插入图片描述

  • settings.py里将item打开

在这里插入图片描述

  • 页码递归,限定条件
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

手动请求的方式(get/post)

yield scrapy.Request(url,callback):GET callback指定解析函数,用于解析数据

yield scrapy.FormRequest(url,callback,formdata):POST formdata字典,请求参数,在这里不能使用request中的data=data,formdata是制定参数

start_urls列表中的url会被自动进行get请求,是因为列表中的url其实是被start_requests这个父类方法实现的get请求发送

def start_requests(self):
        for u 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值