集搜客GooSeeker网络爬虫

标题: Scrapy的架构初探 [打印本页]

作者: Fuller    时间: 2016-6-4 11:16
标题: Scrapy的架构初探
1,引言

本文简单讲解一下Scrapy的架构。没错,GooSeeker开源的通用提取器gsExtractor就是要集成到Scrapy架构中,最看重的是Scrapy的事件驱动的可扩展的架构。除了Scrapy,这一批研究对象还包括ScrapingHub,Import.io等,把先进的思路、技术引进来。

请注意,本文不想复述原文内容,而是为了开源Python爬虫的发展方向找参照,而且以9年来开发网络爬虫经验作为对标,
从而本文含有不少笔者主观评述,如果想读Scrapy官方原文,请点击Scrapy官网的Architecture

2,Scrapy架构图
[attach]921[/attach]


Spiders就是针对特定目标网站编写的内容提取器,这是在通用网络爬虫框架中最需要定制的部分。使用Scrapy创建一个爬虫工程的时候,就会生成一个Spider架子,只需往里面填写代码,按照它的运行模式填写,就能融入Scrapy整体的数据流中。GooSeeker开源网络爬虫的目标是节省下程序员一半以上的时间,关键就是提高Spider的定义和测试速度,解决方案参看《1分钟快速生成网页内容提取器》,让整个Scrapy爬虫系统实现快速定制的目标。


3,Scrapy的数据流(Data Flow)

Scrapy中的数据流由执行引擎控制,下面的原文摘自Scrapy官网,我根据猜测做了点评,为进一步开发GooSeeker开源爬虫指示方向:

4,接下来的工作
接下来,我们将进一步研读Scrapy的文档,实现GooSeeker开源Python爬虫与Scrapy的集成

5,文档修改历史
2016-06-04:V1.0,首次发布





作者: Fuller    时间: 2016-6-4 16:41
又整理了一篇学习笔记:http://www.gooseeker.com/doc/thread-1898-1-1.html

本篇的一些猜测得到了印证,Scrapy十分强大,模块化很高。

GooSeeker的C++网络爬虫DS打数机也是一个事件驱动的架构,基本思路一致,但是,模块化太差。GooSeeker包含会员中心在内的“大爬虫”总体强调了模块化和第三方可插拔,但是,具体到DS打数机程序内部是一整块,从而5.0版本规划的开发者模式一直不便于开放。




欢迎光临 集搜客GooSeeker网络爬虫 (https://www.gooseeker.com/doc/) Powered by Discuz! X3.2