码迷,mamicode.com
首页 > 其他好文 > 详细

Scrapy学习

时间:2020-03-25 21:34:40      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:item   参数   直接   写入   数据存储   ESS   pipeline   www   优先级队列   

Scrapy的工作流程

  1. 从优先级队列中获取request对象,交给engine

  2. engine将request对象交给下载器下载,期间会通过downloadmiddleware的process_request方法

  3. 下载器完成下载,获得response对象,将该对象交给engine,期间会经过downloadmiddleware的process_response( )方法

  4. engine将获得的response对象交给spider进行解析,期间会经过spidermiddleware的process_spider_input()的方法

  5. spider解析下载器下下来的response,返回item或是links(url)

  6. item或者link经过spidermiddleware的process_spider_out( )方法,交给engine

  7. engine将item交给item pipeline ,将links交给调度器

  8. 在调度器中,先将requests对象利用scrapy内置的指纹函数生成一个指纹4

  9. 如果requests对象中的don‘t filter参数设置为False,并且该requests对象的指纹不在信息指纹的队列中,那么就把该request对象放到优先级队列中

  10. 循环以上操作

各个文件的作用

  1. pipelines.py:

    1. 数据清洗(处理数据)

    2. 存储(把数据存储起来,也可以是直接打印在控制台)

  2. 爬虫文件:

    1. 寻找item.py里面的数据并yield出去

    2. 回调爬虫的解析函数完成下一次爬取...(循环)

  3. item.py:

    1. 写入所需要的数据

*部分参考自https://www.cnblogs.com/sharepy/p/9534597.html

Scrapy学习

标签:item   参数   直接   写入   数据存储   ESS   pipeline   www   优先级队列   

原文地址:https://www.cnblogs.com/lucheng123/p/12569292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!