天天看点

网络蜘蛛Spider的逻辑Logic(一)

网络蜘蛛的定义

Spider又叫WebCrawler或者Robot,是一个沿着链接漫游Web 文档集合的程序。它一般驻留在服务器上,通过给定的一些URL,利用HTTP等标准协议读取相应文档,然后以文档中包括的所有未访问过的URL作为新的起点,继续进行漫游,直到没有满足条件的新URL为止。WebCrawler的主要功能是自动从Internet上的各Web 站点抓取Web文档并从该Web文档中提取一些信息来描述该Web文档,为搜索引擎站点的数据库服务器追加和更新数据提供原始数据,这些数据包括标题、长度、文件建立时间、HTML文件中的各种链接数目等

来源:网络爬虫程序

简而言之,网络蜘蛛就是根据一系列既定规则或自动识别获取互联网资源的程序。

简单的蜘蛛=规则+程序,规则是指其思维逻辑,程序是指获取识别资源的程序。

网络蜘蛛的规则

网络蜘蛛的规则可以是单一的,也可以是一系列的;可以是特定的,也可以是泛指的;可以是具体的,也可以是模糊的定义。不管是何种形式形态出现,其一般是提前设置好的。自动识别建立规则、自我学习的网络蜘蛛,就像“永动机”一样吸引人。在当下,还是不太可能的。试想一下,如果这种拥有“自我意识”的网络蜘蛛实现了,那也意味着“自主学习”的机器人雏形也真正实现了...

虽然“自我学习”还遥不可及,但是关于类似的研究实验却是一直在进行,比如机器学习、深度学习等等。通常学习一样东西,先从基本的入手。千里之行始于足下。那么网络蜘蛛的基本规则是怎么样的,它的思维逻辑是什么?

一般,网络蜘蛛先从既定地址通过互联网获取资源,然后根据规则分析资源,识别提取目标实体。所以蜘蛛Spider的思维逻辑为:

1)连接特定地址,获取互联网资源;

2)分析处理媒体资源;

3)识别符合规则的实体并保存;

4)获取其他关联地址,如果存在继续执行1),否则5);

5)保存退出。

从上面看出,网络蜘蛛的难点在于3)和4)中的规则:一是目标实体的规则,二是关联地址的规则。目标规则是网络蜘蛛的最终目的,蜘蛛根据目标规则从资源内容中识别出最终目标,完成基本任务。而地址规则是其网络连续性的基本。网络蜘蛛根据地址规则,从当前资源内容中提取单一或系列相关联的资源地址,选取有效地址,继续执行基本任务。当再也无法获取有效的关联地址,并且遍历当前所有有效资源源地址时,网络蜘蛛的生命周期也就结束。掌握这两个关键点,也就基本理解网络蜘蛛的内容。