黑马程序员技术交流社区

标题: 浅谈对scrapy的理解 [打印本页]

作者: Leo06    时间: 2018-6-20 20:07
标题: 浅谈对scrapy的理解
本帖最后由 Leo06 于 2018-6-20 20:11 编辑

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

下图是Scrapy框架结构及各模块功能:









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2