scrapy大致流程

本文详细介绍了Scrapy爬虫的执行流程,包括items文件、主文件、middlewares、pipelines的初始化,以及DownloaderMiddleware和Pipeline的执行过程。重点讲解了request和response的处理,如process_request、process_response函数,以及如何通过css和xpath提取数据。此外,还提到了一个常见错误:TypeError: name must be an instance of str,解决方法是统一设置变量名大小写。
摘要由CSDN通过智能技术生成

1.items文件执行
2.主文件执行初始化(start_urls,allowed_domains)
3.middlewares文件执行初始化,初始化包括先执行from_crawler 函数再执行init函数
4.pipelines文件执行初始化
5.Pipelines 执行open_spider函数
6.middlewares文件执行spider_opened函数
7.middlewares文件的DownloaderMiddleware类按优先数从低到高逐步执行process_request函数(DownloaderMiddleware的优先数可以自己在settings文件设置),返回值为None时执行下一小的优先数的process_request函数;返回值为response时转第八步;返回值为request时停止其他事件的执行把请求放入请求队列
8.middlewares文件的DownloaderMiddleware类按优先数从高到低逐步执行process_response函数,返回值为request时停止其他事件的执行把请求放入请求队列;返回值为response时执行下一大的优先数的process_response函数
9.执行主文件的parse函数
10.pipelines文件的Pipeline类按优先数从低到高逐步执行process_item函数,主文件需yield item类的实例,process_item函数再处理item对象
11.处理下一请求,回到第七步,parse函数也可以yield request对象加入请求队列
12.处理完所有请求执行Pipeline类的close_spider函数

request对象为scrapy.Request()常用参数url,callback,headers callback的值代表返回response后调用的函数,dont_filter代表是否不过滤重复请求
response对象为scrapy.http.[HtmlRsponse|TextResponse|XmlResponse]()常用参数url,body,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值