志在指尖
用双手敲打未来

scrapy(scrapy框架的工作流程)

scrapy

Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
Scrapy吸引人的当地在于它是一个框架,任何人都可以根据需求便利的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版别又提供了web2.0爬虫的支持。
ScrapyEngine(引擎):担任Spider、ItemPipeline、Downloader、Scheduler中心的通讯,信号、数据传递等。
Scheduler(调度器):它担任接受引擎发送过来的Request请求,并按照必定的方式进行收拾排列,入队,当引擎需求时,交还给引擎。
Downloader(下载器):担任下载ScrapyEngine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给ScrapyEngine(引擎),由引擎交给Spider来处理。
Spider(爬虫):它担任处理所有Responses,从中剖析提取数据,获取Item字段需求的数据,并将需求跟进的URL提交给引擎,再次进入Scheduler(调度器)。
ItemPipeline(管道):它担任处理Spider中获取到的Item,并进行进行后期处理(详细剖析、过滤、存储等)的当地。
DownloaderMiddlewares(下载中心件):一个能够自定义扩展下载功能的组件。
SpiderMiddlewares(Spider中心件):一个能够自定扩展和操作引擎和Spider中心通讯的功能组件。scrapy

scrapy框架的工作流程

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的使用结构,我们只需要实现少量代码,就能够快速的抓取到数据内容。Scrapy使用了Twisted异步网络结构来处理网络通讯,能够加速我们的下载速度,不用自己去实现异步结构,而且包含了各种中间件接口,能够灵活的完成各种需求。
Scrapy结构的工作流程:
1.首要Spiders(爬虫)将需要发送恳求的url(requests)经ScrapyEngine(引擎)交给Scheduler(调度器)。
2.Scheduler(排序,入队)处理后,经ScrapyEngine,DownloaderMiddlewares(可选,主要有User_Agent,Proxy代理)交给Downloader。
3.Downloader向互联网发送恳求,并接收下载呼应(response)。将呼应(response)经ScrapyEngine,SpiderMiddlewares(可选)交给Spiders。
4.Spiders处理response,提取数据并将数据经ScrapyEngine交给ItemPipeline保存(能够是本地,能够是数据库)。提取url重新经ScrapyEngine交给Scheduler进行下一个循环。直到无Url恳求程序中止结束。

未经允许不得转载:IT技术网站 » scrapy(scrapy框架的工作流程)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载