ImageVerifierCode 换一换
格式:DOC , 页数:3 ,大小:12.50KB ,
资源ID:1180068      下载积分:8 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wnwk.com/docdown/1180068.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2023年浅谈网络爬虫设计.doc)为本站会员(g****t)主动上传,蜗牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蜗牛文库(发送邮件至admin@wnwk.com或直接QQ联系客服),我们立即给予删除!

2023年浅谈网络爬虫设计.doc

1、浅谈网络爬虫设计浅谈网络爬虫设计 雷才峰 田仁杰 王建锋 摘 要:网络爬虫(又被称为网页蜘蛛,网络机器人,在 FOFA 社区中间,更经常被称为网页追逐者)是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。本文从网络爬虫的介绍出发,阐述了网络爬虫的搜索策略以及相关算法,包括页面解析,重复链接分析,以及多线程等等 关键词:搜索引擎 网络爬虫 一、引言 随着信息时代的到来,网络飞速发展,规模无限扩大,信息量呈爆炸式的增长。网络给人们带来了丰富和动态的网络信息,但是因为 Internet 上的信息是极其分散,无序,毫无规则。所以很难被利用。因此如何在 Internet 这个巨大的信息海洋中快速

2、并且准确的找到有用的信息,是 Internet 用户的所共同面对的难题。而网络搜索引擎的出现则解决了这一困难,加强了 Internet 用户定位和收集网络信息的能力,引擎通过收集众多网络站点上的网络信息来为帮助用户更方便的寻找所需信息。而在整个搜索引擎中,网络爬虫起着重要的作用,它是整个搜索引擎的数据来源,爬虫设计的好坏直接决定着整个引擎系统的内容是否丰富,信息能否得到及时的更新。二、网络爬虫的种类 几年来随着对网络爬虫的不断研究与探索,备种各样的爬虫层出不穷。现在常见的优秀网给爬虫有:批量型网络爬虫、增量型网络爬虫、通用网络爬虫、垂直网络爬虫、聚焦网络爬虫。这几种爬虫功能不一,使用的领域也不

3、同。比如谷歌、百度等大型搜索引擎都是非常典型的增量型网络爬虫,可以提供非常大量的数据。而如淘宝、苏宁易购等店铺进行爬取就需要用到批量型网络爬虫,它们经常会对各种内容设限或屏蔽防止外来的爬取。三、网络爬虫的基本原理 网络爬虫是一个自动提取网页的程序,它为搜索引擎从 Internet 上下载网页,是搜索引擎的重要组成。爬虫从一个或若干初始网页的 URL 开始,通过分析该URL 的源文件,提取出新的网页链接,继而通过这些链接继续寻找新的链接,这样一直循环下去,直到抓取并分析完所有的网页为止。当然这是理想状态下爬虫的执行过程,但是实际上要抓取 Internet 上所有的网页是不可能完成的。从目前公布的

4、数据来看,最好的搜索引擎也只不过抓取了整个 Internet40%的网页。这有两个原因,其一是网络爬虫设计时的抓取技术瓶颈造成的,无法遍历所有的网页,很多网页链接不能从其他网页中得到。其二是存储技术和处理技术造成的,如果按照每个页面的平均的大小是 20K,那么 100 亿个页面的大小就是 200000G,对于现在的存储技术来说是个挑战。四、网络爬虫的爬行策略 网络爬虫的爬行策略可以分成深度优先和广度优先。(一)深度优先策略:其本质就是将网页链接按照深度由低到高的顺序依次进行爬取直到最底层为止。通俗点讲就是“一条道走到黑”,当一条路完全走完后再去返回来去走另条道。这种策略作为早期最为流行的算法比

5、较适合于垂直搜索等需要深度搜索的引擎,但又因为往往会爬取的过深会而耗时耗力产生大量的浪费。(二)广度优先策略:广度优先策略又被称为宽度优先策略。其原理就是从个初始点出发,将所有检测到的路径全部都访間一遍,每当全部路径都访问结束却没有发现目标时,那么就会把所有走两步可以到达的位置全部访问一遍。如果任然没有发现目标,就以此类推将所有走三步可以达到的位置全部访问一遍。这种方法听起来非常的笨,而且极为的耗时,但可以保证一定能找到一条最短路径。五、爬虫的具体实现(一)基本流程。如果是第一次运行,爬虫根据编码过程中给定的起始网页,开始分析网页源文件,把分析出来的链接放进待爬取队列,把已经处理过的原始网页放

6、进已爬行队列,并根据网页链接在哈希表中添加一个新元素,然后各个工作线程从待爬行 队列中取出链接继续分析,提取链接,把提取出的新链接与哈希表中已存在的元素进行对比,如果已在哈希表中存在,则放弃该链接,如果不存在,则在哈希表中生成一个新元素,并且把该链接放入待爬行队列,然后工作线程继续取出链接进行爬行这样一直循环下去,直到满足系统停止条件,如果系统运行期间人为的关闭了系统,则系统会自动在关闭时把相关记录保存到文本文件中。如果系统不是第一次运行,则在启动系统后,系统不是分析编码过程中指定的起始网页,而是先读取保存在文本文件中的信息,然后生成和上一次运行时同样的哈希表,待爬行队列,已爬行队列,然后从待

7、爬行对列中取出链接执行。(二)爬虫主要数据结构。1.CHashTable 类:这个类根据一定的算法为每一个链接(链接对应的网址)生成一个唯一对应的数字,然后把这个数字作为该链接在哈希表中的位置,并把该位置的值设置为 1,表示该位置已经有一个链接对应了。当有新的链接要放入哈希表中时,则只需检查新链接所对应的哈希表中的位置的值,如果为 0 则表示该链接以前未出现,如果为 1 则表示是重复链接,不需要处理了。2.CURLParse 类:该类主要负责得到链接的源文件,并从中提取出源文件中的所有链接,然后把不重复的链接放入到待爬行队列中去,供工作线程使用。在提取源文件链接的过程中,本系统没有使用正则表达

8、式,而是直接利用 CString 类来寻找链接,个人觉得这样操作的准确性更高。由于提取出来的链接很多都不完整,而是相对路径,因此,还需要对此类链接进行一些操作,使其变成完整路径后才能放入待爬行队列。3.CURLQueue 类:该类用来存储待爬行链接和已爬行链接,并提供了一些可以操作队列的接口以及一些返回队列相关信息的接口。4.URLStruct 结构体:该结构体用来控制系统的执行层级。如果某个链接的层级为 1,则由它分析出的链接的层级为 2。当链接的层级大于系统设定的层级时,就不对此链接做任何处理,既不从该链接中提取新的链接。五、系统运行 操作系统 Windows7 及以上。但是根据实际使用情况,建议使用 Windows10。因为 Windows10 做为目前主流的操作系统具有更好的服务器性能、更强的安全性、更轻的管理工作负担。参考文献 1 孟时,王彦,larbin 网络爬虫的体系结构J.电脑学习,2010 2 高波,Linux 网络编程M.程序设计 2000 3 王芳,陈海建 深入解析 Web 主题爬虫的关键性原理J.微型电脑应用,2011

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2