Scrapy爬虫框架总结

Posted amcomputer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scrapy爬虫框架总结相关的知识,希望对你有一定的参考价值。

python的Scrapy爬虫框架有5个大部件,细分的话有7个小部件。框架隔一段时间不用就会忘记很多知识点,学了好几遍了,老是忘记一些常用的数据扭转逻辑,因此写下该博文,以期帮助后续爬虫学习和开发。同时,时间长了容易忘记这些部件,因此尝试对scrapy爬虫框架进行总结。

一 理解数据流图

理解数据流图后,可以对Scrapy框架进行总体上的把稳和理解,方便后续对组件的理解。

二 理解部件功能

按照数据流图扭转步骤介绍:

Spiders:功能:1发送请求url,2解析response 里面要写具体的解析过程,用parse(response)方法实现,常用Xpath或者CSS进行解析

Scrapy Engine:负责协同各部件,类似于大S脑。数据传递都需要经过他。

Scheduler: 调度器,负责request请求调度

Donloader Middlewares: 下载中间件。负责真正请求前的预处理工作,比如添加User-agent,cookie或者代理,超时异常处理等等,里面的类主要有3个方法。

                                     process_request(request,spider) 处DOWNLOADER_MIDDLEWARES理请求

                                     process_response(request,response,spider)处理响应

                                     process_exception(request,exceptionspider)处理异常。对于里面的 Middlewares类需要注意它们的执行优先级(DOWNLOADER_MIDDLEWARES)和顺序(Egine在左,Downloader在右边)

Spider Middlewares: 蜘蛛中间间。

Iteam pipeline: 主要有2个功能,第一个是定义爬取数据结构(需要继承scrapy.Item),

第二个是保存数据入数据库或者数据清洗。里面的pIpeline类主要实现3个方法,类执行顺序也有优先级(参考Donloader Middlewares)

                       process_spider(spider), 必须实现的方法。

                        open_spider(spider),  process_spider执行前执行该函数,用来初始化操作

                       close_spider(spider),  process_spider执行后执行该函数,用来完成操作,如关闭数据库等等

                        from_crawler(cls, crawler), 获取全局参数,帮助open_spider(spider),完成初始化

以上是关于Scrapy爬虫框架总结的主要内容,如果未能解决你的问题,请参考以下文章

python scrapy爬虫框架概念介绍(个人理解总结为一张图)

高效的Scrapy爬虫框架干货教程,请查收!

Requests爬虫和scrapy框架多线程爬虫

(Scrapy框架)爬虫获取百度新冠疫情数据 | 爬虫案例

Learning Scrapy:《精通Python爬虫框架Scrapy》Windows环境搭建

python爬虫--scrapy框架的学习和使用⭐---第二部分