首页 > 我的观点, 搜索引擎 > 浅淡暗网信息抓取

浅淡暗网信息抓取

2009年10月28日 发表评论 阅读评论

spider写在最前面:之前看过一些关于暗网信息抓取的Paper,觉得这一块是我们今后做好WebSpider的一个重要的努力方向。下面就对暗网信息的抓取做一个通俗简洁的介绍,达到使一般读者能够明白暗网信息抓取基本原理的目的。

1. 什么是暗网

广义地讲,任何不能通过一次(或多次)HTTP GET请求直接下载的Web页面,我们都可以认为其处于“暗网”中。不能直接通过HTTP GET请求下载这些Web页面的原因是多方面的,有可能是网络原因不能下载,比如说企业或学校的内部网站,只有通过代理服务器连通这些网络,才能下载其中的Web页面;也有可能是动态页面,需要用户身份认证,登录后才能下载等,还有其它一些原因,这里不再一一列举。

狭义的“暗网”,是指那些没有链接指向的动态Web页面的集合,这些页面只能通过提交一个HTML表单等的形式获取其内容,也就是通过至少一次HTTP POST请求才能获取其内容,不能通过HTTP GET直接下载得到。比如说一些学校的图书馆,只有用户输入书名等检索词进行搜索时,才能得到相关的结果的索引列表,然后再跟据这个索引列表来获取相关的页面。这些页面,没有其它外链链接进来,只能通过上述方法获取。

2. 为什么要抓取暗网信息

有研究表明,目前能够搜索到的数据仅占全部信息量的千分之二。可见,目前,我们通过搜索引擎能够获取的信息,只是全部信息量的“冰山一角”,通过对暗网数据的抓取,可以从很大程度上增加搜索引擎的信息收录量,为用户提供更丰富的搜索结果,使用户有更好的搜索体验。

3. 如何来抓取暗网信息

首先要声明,本文的讲的暗网是指狭义上的暗网。因此,如何来对暗网信息进行抓取的关键,就落在了如何让WebSpider模拟人提交HTML表单的行为。通常,如果一个表单中的元素的取值都是固定的,那么,我们可能通过枚举各种取值组合,通过HTTP POST提交表单,直接获取相应的页面,如下图所示:
form2
有上面的表单中,各个元素的取值集合都是固定的,我们的WebSpider只要把各种所有的可能取值组合进行枚举,便可得到所有的页面。

但是实际上,通过我们遇到的表单有很多元素的取值集合都是未定的,这时候,就不能直接采取上面的方面来获取相应页面了,那该怎么办呢?如下图所示,是一个含有取值集合未定的元素的表单:
form3
假如说我们选择了ISBN号进行检索,我们知道,只有输入合法的ISBN号,才能检索到内容。那么,WebSpider该如何知道什么样的ISBN号才是合法的呢?下面介绍一种方法。

对于这种含有取值集合未定元素的表单,我们对其中每一个取值集合未定的元素进行机器学习,为其得到一个有效的,取值个数有限的近似的取值集合。然后再采取上面介绍的枚举的方法,进行抓取。如在上图所示的例子中,我们通过机器学习的方法,得到一个合法的ISBN号的集合,然后再让WebSpider进行抓取,便可以得到我们想要的结果。

写在最后面:上面只是对暗网信息抓取的一个简单的介绍,目的只是让普通读者对暗网信息的抓取有一个基本的了解。如果想深入了解暗网信息的抓取,可以参考学习下面两份Paper,另外可以在互联网上搜索相关资料:
1. Crawling the HiddenWeb
2. Downloading Hidden Web Content

  1. Matrox
    2009年11月18日23:16 | #1

    定向的爬虫还是相对容易的,困难的是通用的表单处理方法。这方面肯定google做的最好了,可以看这篇“Google’s Deep-Web Crawl”

  2. 2009年11月20日09:30 | #2

    恩,同意你的观点,同时谢谢你推荐的paper~~
    我们做爬虫,最终的目的就是要能够抓取各种各样的网页,为搜索引擎提供强大的数据支持,定向爬虫只是达到这个最终目的过程中的一个中间过渡。
    通过对各种表单的分析,进行一些机器学习,最终可以挖掘出一套通用表单的处理模型,这是一个方向。

  3. yanjunwei
    2010年4月20日17:07 | #3

    我很好奇提出千分之二概念的人,是通过什么方法统计出来的。。。如果暗网只是本文所定义的暗网,我觉得在互联网上,传统搜索引擎不能触及的信息量应该是很小一部分的。。。

  4. 2010年4月20日18:14 | #4

    @yanjunwei 是一篇paper里讲的。其实我觉得还是有差不多的。举个例子,现在中国所有的大学的那些内部网络资源,超级丰富,但是在公网就是不能访问,所以搜索引擎也是不能收录的。这一部分应该也算是暗网的一部分吧!

  5. yanjunwei
    2010年4月21日14:41 | #5

    大学内部网络资源指什么?学生电脑上的资源,还是说ftp,还是说学校内网?如果仅仅指内网的话,有些可以被外界访问到,不可以访问到的部分,我觉得应该内容还不算特别丰富吧?

  6. 2010年4月21日14:46 | #6

    @yanjunwei 我指的是校园网。据我所知,我们学校的内网在外面能访问的很少,但是我们学校的内网资源是相当丰富的。当然我拿大学只是举一个例子,还有很多,比如企业的内部网络等。

  7. yanjunwei
    2010年4月21日16:21 | #7

    其实根本来讲还是看怎么定义暗网,如果暗网是指通过一些post比如检索就能获取的信息,那我觉得搜索引擎覆盖不到的内容不可能只有千分之二那么少,如果是十分之二我还觉得勉强可以接受。但是如果说定义为个人或小团体的一些私有东西,不想被其他人看到的东西都算做暗网的话,比如校园/企业内网,再说夸张一点甚至是连入internet的个人电脑硬盘上的私有数据如果都算做暗网的话,那信息量肯定比现在internet大很多倍。
    校园和企业网虽然对团体内的每个人来说是一个网络,但是对于internet来说它们也只是一个节点而已,内部的东西就像我同一台电脑上用数据线连接的不同硬盘而已,如果不想被外界知道,那也就和个人电脑的私有数据一样。对于搜索引擎到底占信息量的多少,我用一个很粗糙的方法估算一下,假设现在中国有1亿台电脑,平均每台电脑硬盘100G,其中10G是原创数据(按理应该不会有那么多),那么全中国有10亿G的数据;而中国网页约有100亿(百度等搜索引擎的索引量),每个网页带来的信息在几K到几百K不等,假设都是10K,那么大约有10万G数据,这样的话搜索引擎的数据就只有万分之一左右;按理每台电脑上的原创数据特别是文本数据应该不会有这么大,所以我觉得搜索引擎的内容占全部信息量应该在千分之几到百分之几左右。

  8. 2010年4月21日16:25 | #8

    @yanjunwei 恩,这里的千分之二,应该是广义的暗网,在公网上用简单的HTTP GET下载不到的,都算。如果狭义的讲暗网,就是你说的那些要通过HTTP POST才能获取的。

  9. 2010年4月21日16:26 | #9

    @yanjunwei 关键是暗网的定义,呵呵,上面我在什么是暗网中有说的。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
您必须在 登录 后才能发布评论.