这一回开始对Larbin的源代码进行学习。经过一段时间的学习,我发现larbin的架构还是不错的。而且他的架构中使用到了许多技术,在阅读源代码的过程中也可以捡起以前学过的东西。
进入%LARBIN_HOME%/src,我们可以看到许多源文件,这些源文件主要分为两大类:
(1)主控类
main.cc : 主控程序,调度所有代码进行工作
global.h,global.cc : 实际上的核心程序,包含爬虫的所有核心内容
(2)配置类
option.h : 策略方面的配置
types.h : 具体数值的配置
关于具体数值的问题,我们在第二部分已经说过了,下面重点看main.cc
(1)在main函数的起始处,对global类进行初始化。global类是整个爬虫的核心,因此对他的分析要慢慢深入。在此我们只要知道,global类中有许多静态成员变量,也就是说可以作全局变量使用,这里主要就是对他们进行初始化。
(2)waitbandwidth() 等待带宽满足需要
(3)input() 将需要爬取的seed URL装载进来
(4)sequencer() 对将要爬取的页面进行缓冲,确定每一轮可以进行爬取的页面
(5)fetchDns() 获取待爬取页面的IP地址和端口号,这需要通过练习DNS服务器将URL进行转换
(6)fetchOpen() 获取当前网页
(7)checkAll() 做一些检验和网页链接分析(也是我们可以定制化的一部分)
这几部基本上包含了一个爬虫的特征,那么对于一个爬虫来说,需要考虑的问题还有很多。
比方说网页分析与网页保存问题。在爬虫爬取过程中,应该花多大的工夫去分析一个网页?网页的保存形式应该是怎样?
这些我们将在后面做详细地分析与介绍。
下一部分将对一些基本数据结构做一些介绍
分享到:
相关推荐
larbin源码 c++的网络爬虫larbin源码 c++的网络爬虫larbin源码 c++的网络爬虫
经典的网络爬虫,经典的larbin,采用asdn域名异步解析,单线程非阻塞模型。
LINUX下的网络爬虫。larbin应当是一个被广大搜索引擎爱好者应当引起注意的一个产品,虽然其功能逐渐被 Nutch 所接受和替代,但是其在爬虫上的优美设计的确值得称道。
larbin是一种开源的网络爬虫/网络蜘蛛
larbin2.6.3爬虫,错误已全部改正,已在ubuntu下通过运行,可进行简单的爬网页任务。
larbin网络爬虫的体系结构[参照].pdf
这个是larbin的头文件,其实这个在哪都可以找到,我只想要赚点积分。各位乡亲父老好不好啊?
Larbin 开发语言:C++ 简介 larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎 提供广泛的数据来源。 Larbin只是...
Larbin 开发语言:C++ 简介 larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎 提供广泛的数据来源。 Larbin只是...
Larbin 开发语言:C++ 简介 larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎 提供广泛的数据来源。 Larbin只是一...
关于Larbin网络爬虫的权威文档,你可以在这里学会Larbin的详细配置方法,让你的Larbin工作得更好
主要是网络爬虫,整个网络进行景象,得到网络资源
网络蜘蛛Larbin的设计和优化,Larbin是利用c++开发的一种网络爬 虫,由法国人Sebastien Ailleret发布,因此 它是开源的(基于GPL标准)。Larbin最初 开发出来是为了XYLEME工程。Larbin的 目的是在网络上抓取xml页面,然后...
主要是分析larbin开源爬虫的源代码,主要思路是先从global文件中的各个重要的结构开始讲解、分析代码。
Larbin的设计与优化,叶建平,,搜索引擎是万维网能够更好为人类利用的重要工具。而网络爬虫是搜索引擎的核心组成部分。Larbin是一个高效,比较简单,而且功能比较
一个高手写的东西 值得一看
网站监控系统的配套爬虫(larbin)和数据库文件(mysql)
larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。 larbin是一个被广大搜索引擎爱好者应当...
开源的网络爬虫,一个外国年轻人写的,有一定的参考价值,附件带有移植到windows的参考文档
修改好的larbin源代码,可以直接在ubuntu8.10下编译使用