网络爬虫的设计与实现

优采云 发布时间: 2020-07-02 08:01

  第11卷第4期2012年 4月软件导刊Software Guide Vo l. ll NO.4 组己旦2网路爬虫的设计与实*敏*感*词*鹏(贵州|民族学院计算机与信息工程学院,贵州l 贵阳 550025)摘 要:搜索引擎技术随着互联网的日渐壮大而急速发展。作为搜索引擎不可或缺的组成部分,网络爬虫的作用变得尤为重要网络爬虫设计,它的性能直接决定了在庞大的互联网上进行网页信息采集的质量。设计并实现了通用爬虫和限定爬虫。关键词:网络爬虫;通用爬虫;限定爬虫中图分类号 :TP393 文献标识码 :A。哥|言网路爬虫称作网路蜘蛛,它为搜索引擎从万维网上下载网页,并顺着网页的相关链接在 Web 中采集资源,是一个功能太强的网页手动抓取程序,也是搜索引擎的重要组成部份,爬虫设计的优劣直接决定着整个搜索引擎的性能及扩充能力。网络爬虫根据系统结构和实现技术,大致可以分为:通用网路爬虫、主题网路爬虫、增量式网路爬虫、深层网路爬虫 o 实际应用中一般是将几种爬虫技术相结合。1 通用爬虫的设计与实现1. 1 工作原理通用网路爬虫按照预先设定的一个或若干初始*敏*感*词*URL 开始,以此获得初始网页上的 URL 列表,在爬行过程中不断从 URL 队列中获一个个的 URL,进而访问并下载该页面。

  页面下载后页面解析器除去页面上的 HTML标记后得到页面内容,将摘要、URL 等信息保存到 Web数据库中,同时抽取当前页面上新的 URL,保存到 URL队列,直到满足系统停止条件。其原理如图 1 所示。1. 2 爬行策略为提升工作效率,通用网路爬虫会采取一定的爬行策略优先爬取重要的网页。常用的有深度优先和长度优先策略。宽度优先算法的设计和实现相对简单,可以覆盖尽可能多的网页网络爬虫设计,是使用最广泛的一种爬行策略。一个爬虫怎样借助长度优先遍历来抓取网页呢?在爬虫中,每个链接对应一个 HTML 页面或则其它文件,通常将 HTML 页面上的超链接称为"子节点"。整个长度优文章编号 :1672-7800(2012)001-0136-02先爬虫就是从一系列的*敏*感*词*节点开始,把这种网页中的"子节点"提取下来,放到队列中依次进行抓取。被访问过的节点装入到另一张表中,过程如图 2 所示。新解析出的URL图 1 通用爬虫工作流程 图 2 宽度优先爬虫过程1. 3 爬虫队列设计爬虫队列设计是网路爬虫的关键。因为爬虫队列要储存大量的 URL,所以借助本地数组或则队列肯定是不够的,应当找寻一个性价比高的数据库来储存 URL 队列,Berkeley DB 是目前一种比较流行的内存数据库。

  根据爬虫的特性, Hash 表成为了一种比较好的选择。但是在使用 Hash 存储 URL 字符串的时侯常用 MD5 算法来对URL 进行压缩。在实*敏*感*词*鹏 0989 一) ,男,山西大同人,贵州民族学院本科生,研究方向为计算机科学与技术。第 4 期 王 娟,吴金鹏:网络爬虫的设计与实现 137 其中:① URL Frontier 含有爬虫当前打算抓取的URL;②DNS 解析模块拿来解析域名(根据给定的 URL决定从那个 Web 获取网页) ;③解析模块提取文本和网页的链接集合;④重复清除模块决定一个解析下来的链接是否早已在 URL Fronier 或者是否近来下载过。下面通过实验来比较一下我们设计的爬虫抓取网页与原网页的对比,见图 4 、图 5 。

  μ 溢圈圈酷自自" .. ‘';"也明i:::~:.O: ::汇图 4 原网页 图 5 抓取网页通过比较可以发觉,由于原网页有*敏*感*词*等多媒体元素,虽然爬虫未能抓取出来全部内容,但基本上是一个完整的爬虫。2 限定爬虫的设计与实现限定爬虫就是对爬虫所爬取的主机的范围作一些限制。通常限定爬虫包含以下内容:①限定域名的爬虫;②限定爬取层数的爬虫;③限定 IP 的抓取;④限定语言的抓取。限定域名的抓取,是一种最简单的限定抓取,只须要依照当前 URL 字符串的值来做出限定即可。限定爬虫爬取的层次要比限定域名更复杂。限定 IP是限定抓取中最难的一部分。通常分为限定特定 IP 和限定某一地区的 IP。限定特定 IP 抓取较为容易,只要通过URL 就可以获得主机 IP 地址,如果主机 IP 在被限制的列表中就不抓取。否则正常工作。想要限定 IP 抓取,首先要按照主机字符串获得 IP 地址。下面我们通过实验来得到 IP 地址:贵州民族学院:主机域名: IP 地址 :210.40.132.8贵州大学:主机域名: IP 地址 :210.40.0.58根据 URL 得到 IP 地址以后,就要按照 IP 地址对某一地区的 IP 作出限制。

  但是须要有一个 IP 与地区对应的数据库,网上好多这样的数据库都是收费的,在此我们使用的是腾讯公司推出的一款免费数据库 "QQWry.da t". ,只要输入 IP 地址就可以查到对应 IP 地址所在的区域。输入 :210.40.0.58输出 2贵州省贵阳市:贵州大学输入: 210.40. 132.8 输出:贵州省贵阳市:贵州民族学院按照 IP 地址制做一张列表,将限制地区的 IP 地址写入列表,爬虫假如检查到要抓取的 IP 地址属于该列表,就舍弃抓取,这样一个限定爬虫就完成了。3 结束语本文介绍了爬虫的工作原理,重点介绍了通用爬虫和限定爬虫的设计及实现,并通过实验证明本文设计的爬虫可以达到预期疗效。参考文献:[lJ 孙立伟,何国辉,吴礼发.网络爬虫技术的研究[J].电脑知识与技术, 20100日.[2J 于成龙,于洪波.网络爬虫技术研究[J].东莞理工学院学报, 2011(3). [3J 罗刚.自己动手写搜索引擎[M]. 北京:电子工业出版社, 2009.[4J 唐泼.网络爬虫的设计与实现[J].电脑知识与技术, 2009( 1).[5J 龚勇.搜索引擎中网路爬虫的研究[DJ. 武汉:武汉理工大学, 2010.(责任编辑 2 杜能钢)The Design and Implementation of 飞布eb Crawler Abstract: With the growing of Internet , search engine technology develops rapidly. As an indispensable part of search en-gine , web crawler is particularly important , its p巳rformance directly determines the quality of gathering webpage informa tion in large Internet . This paper designs and implements general crawler and limitative crawler. Key Words: Web Crawler; General Crawler; Limitative Crawler

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线