Page 163 - 大数据背景下网络安全问题研究
P. 163

» 第六章  网络数据采集及安全研究



                   6.爬虫身份识别
                   网络爬虫通过使用http请求的用户代理(User Agent)字段来向网络服务器表明他
               们的身份。网络管理员则通过检查网络服务器的日志,使用用户代理字段来辨认哪一
               个爬虫曾经访问过以及它访问的频率。用户代理字段可能会包含一个可以让管理员获
               取爬虫更多信息的URL。邮件抓取器和其他怀有恶意的网络爬虫通常不会留任何的用

               户代理字段内容,或者他们也会将他们的身份伪装成浏览器或者其他的知名爬虫。
                   对于网络爬虫,留下用户标志信息是十分重要的;这样,网络管理员在需要的
               时候就可以联系爬虫的主人。有时,爬虫可能会陷入爬虫陷阱或者使一个服务器超负

               荷,这时,爬虫主人需要使爬虫停止。对那些有兴趣了解特定爬虫访问时间网络管理
               员来讲,用户标识信息是十分重要的。
                   7.用户爬虫的例子
                   (1)网络爬虫体系结构

                   以下是一系列已经发布的一般用途的网络爬虫(除了主题检索的爬虫)的体系结
               构,包括了对不同组件命名和突出特点的简短的描述。
                   RBSE (Eichmann,1994)是第一个发布的爬虫。它有两个基础程序。第一个是

               “spider”,抓取队列中的内容到一个关系数据库中,第二个程序是“mite”,是一个
               修改后的www的ASCII浏览器,负责从网络上下载页面。
                   Web Crawler(Pinkerton,1994)是第一个公开可用的,用来建立全文索引的一个
               子程序,他使用库www来下载页面;另外一个程序使用广度优先来解析获取URL并对
               其排序;它还包括一个根据选定文本和查询相似程度爬行的实时爬虫。

                   World Wide Web Worm(Mc Bryan,1994)是一个用来为文件建立包括标题和
               URL简单索引的爬虫。索引可以通过grep式的Unix命令来搜索。
                   Google Crawler (Brin and Page,1998)用了一些细节来描述,但是这些细节仅

               仅是关于使用C++和Python编写的、一个早期版本的体系结构。因为文本解析就是全
               文检索和URL抽取的过程,所以爬虫集成了索引处理。这里拥有一个URL服务器,用
               来给几个爬虫程序发送要抓取的URL列表。在文本解析的时候,新发现的URL传送给
               URL服务器并检测这个URL是不是已经存在,如果不存在的话,该URL就加入URL服

               务器中。
                   CobWeb (da Silva et al.1999)使用了一个中央“调度者”和一系列的“分布式
               的搜集者”。搜集者解析下载的页面并把找到的URL发送给调度者,然后调度者反过
               来分配给搜集者。调度者使用深度优先策略,并且使用平衡礼貌策略来避免服务器超

               载。爬虫是使用Perl语言编写的。
                   Mercator (Heydon and Najork,1999;Najork and Heydon,2001)是一个分布


                                                                                         • 151 •
   158   159   160   161   162   163   164   165   166   167   168