Python实战之scrapy爬虫的parse()工作机制

660次阅读
没有评论
Python实战之scrapy爬虫的parse()工作机制

1、因为使用的yield,而不是return。parse函数将会被当做一个生成器使用,scrapy会逐一获取parse方法中生成结果,并判断结果是一个什么类型。

2、如果是request则加入爬取队列,如果是item类型则使用pipeline处理,其他类型则返回错误信息。

3、scrapy取到的第一部分request不会立即就去发送这个request,只是把这个request放在队列中,然后接着从生成器中取。

4、取尽第一部分的request,然后在获取第二部分的item,取到item了,就会放到对应的pipeline里处理。

5、parse()方法作为回调函数(callback)赋值给了Request,指定parse()方法来处理这些请求,scrapy.Request(url,callback = self.parse)

6、Request对象经过调度,执行生成scrapy。http.response()的响应对象,并送给parse()方法,直到调度器中没有Request(递归思路)。

7、取尽之后,parse()工作结束,引擎再根据队列和pipeline中内容去执行响应的操作。

8、程序在取得各方面的item前,会先处理完之前所有的request队列中的请求,然后在提取items

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:Python教程2022-10-25发表,共计541字。
新手QQ群:570568346,欢迎进群讨论 Python51学习