Python scrapy基础教程(三)

来源:互联网 发布:unity3d模型动画下载 编辑:程序博客网 时间:2024/05/29 09:09

爬虫最基本的就是对网页的post和get,也就是http的post和get,这样就可以动态实现自己想要那个网页的数据。

scrapy的post和get使用是有一定限制的:
1.如果start_urls不是post接口,可以通过start_urls里面找到接口路径,然后在FormRequest
2.如果start_urls是post接口,只能重定义start_requests方法,定义为post方式。
3.如果get带参数,直接在url参数化即可。

Get带参数
这里写图片描述
其中,Spider和CrawlSpider都适用
这个比较简单
start_urls带参数也是可以的

如果start_urls是post接口
这里写图片描述
因为start_requests开始定义是get方法,如果接口是post的,会返回405错误码,所以要重写start_requests
这里写图片描述

如果start_urls不是post接口
这里写图片描述
start_urls为一个接收任务接口,为get,程序必需运行获取到这个start_urls的内容后,在parse方法才运行post。
注意:start_urls的链接和parse里面的turl必需有关联才行,如果我把start_urls改为[‘https://www.baidu.com/‘],parse是post不到的。
就是说,scrapy运行必需执行一次start_requests的方法才运行到自己写的方法里去。

scrapy与requests库的post和get对比:
scrapy的post和get在写法上比requests库的要复杂一点。
scrapy必需按照流程一步一步走,虽然可以变动,但大体都是框架式的代码,灵活性低。基本流程:start_urls->start_requests->parse(Spider模式下,CrawlSpider差不了多小)
scrapy分布式爬虫,工作分工明确,而且框架结构,便于维护和管理,利于大型的爬虫


欢迎加入学习交流QQ群:657341423

0 0
原创粉丝点击