Scrapy学习
Posted lucheng123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scrapy学习相关的知识,希望对你有一定的参考价值。
Scrapy的工作流程
-
从优先级队列中获取request对象,交给engine
-
engine将request对象交给下载器下载,期间会通过downloadmiddleware的process_request方法
-
下载器完成下载,获得response对象,将该对象交给engine,期间会经过downloadmiddleware的process_response( )方法
-
engine将获得的response对象交给spider进行解析,期间会经过spidermiddleware的process_spider_input()的方法
-
spider解析下载器下下来的response,返回item或是links(url)
-
item或者link经过spidermiddleware的process_spider_out( )方法,交给engine
-
engine将item交给item pipeline ,将links交给调度器
-
在调度器中,先将requests对象利用scrapy内置的指纹函数生成一个指纹4
-
如果requests对象中的don‘t filter参数设置为False,并且该requests对象的指纹不在信息指纹的队列中,那么就把该request对象放到优先级队列中
-
循环以上操作
各个文件的作用
-
pipelines.py:
-
数据清洗(处理数据)
-
存储(把数据存储起来,也可以是直接打印在控制台)
-
-
爬虫文件:
-
寻找item.py里面的数据并yield出去
-
回调爬虫的解析函数完成下一次爬取...(循环)
-
-
item.py:
- 写入所需要的数据
*部分参考自https://www.cnblogs.com/sharepy/p/9534597.html
以上是关于Scrapy学习的主要内容,如果未能解决你的问题,请参考以下文章