族谱网 头条 人物百科

网络爬虫

2020-10-16
出处:族谱网
作者:阿族小谱
浏览:272
转发:0
评论:0
命名网络爬虫也可称作网络蜘蛛、蚂蚁、自动索引程序(automaticindexer),或(在FOAF(英语:FOAF(software))软件中)称为网络疾走(webscutter)。概述网络爬虫始于一张被称作种子的统一资源地址(URLs)列表。当网络爬虫访问这些统一资源定位器时,它们会甄别出页面上所有的超链接,并将它们写入一张"待访列表",即所谓"爬行疆域"(crawlfrontier)。此疆域上的统一资源地址将被按照一套策略循环访问。如果爬虫在他执行的过程中复制归档和保存网站上的信息,这些档案通常储存,使他们可以被查看。阅读和浏览他们的网站上实时更新的信息,并保存为网站的“快照”。大容量的体积意味着网络爬虫只能在给定时间内下载有限数量的网页,所以要优先考虑其下载。高变化率意味着网页可能已经被更新或者删除。一些被服务器端软件生成的URLs(统一资源定位符)也使得网络爬虫很难避免检索到重复...

命名

网络爬虫也可称作网络蜘蛛、蚂蚁、自动索引程序(automatic indexer) ,或(在FOAF(英语:FOAF (software))软件中)称为网络疾走(web scutter)。

概述

网络爬虫始于一张被称作种子的统一资源地址(URLs)列表。当网络爬虫访问这些统一资源定位器时,它们会甄别出页面上所有的超链接,并将它们写入一张"待访列表",即所谓"爬行疆域"(crawl frontier)。此疆域上的统一资源地址将被按照一套策略循环访问。如果爬虫在他执行的过程中复制归档和保存网站上的信息,这些档案通常储存,使他们可以被查看。阅读和浏览他们的网站上实时更新的信息,并保存为网站的“快照”。大容量的体积意味着网络爬虫只能在给定时间内下载有限数量的网页,所以要优先考虑其下载。高变化率意味着网页可能已经被更新或者删除。一些被服务器端软件生成的URLs(统一资源定位符)也使得网络爬虫很难避免检索到重复内容。

设计者所面临的挑战

互联网资源卷帙浩繁,这意味着网络爬虫在一定时间内只能下载有限数量的网页,因此它需要优化它的下载方式。互联网资源瞬息万变,这也意味着网络爬虫下载的网页在使用前就已经被修改甚至是删除了。这是网络爬虫设计者们所面临的两个基本问题。

再者,服务器端软件所生成的统一资源地址数量庞大,以至于网络爬虫难以避免的采集到重复内容。根据超文本协议“显示请求”(HTTP GET)的参数的无尽组合所返回的页面中,只有很少一部分确实传回唯一的内容。例如:一个照片陈列室网站,可能通过几个参数,让用户选择相关照片:其一是通过四种方法对照片排序,其二是关于照片分辨率的的三种选择,其三是两种文件格式,另加一个用户可否提供内容的选择,这样对于同样的结果集可能会有48种不同的统一资源地址与其关联。这种数学组合给网络爬虫制造了麻烦,因为它们必须越过这些无关脚本变化的组合,寻找到不重复的内容。

爬虫策略

爬虫的实现由以下策略组成:

指定页面下载的选择策略

检测页面是否改变的重新访问策略

定义如何避免网站过度访问的约定性策略

如何部署分布式网络爬虫的并行策略

选择策略

链接限制

爬虫可能只想搜索HTML页面而避免其他MIME 类型。为了只请求HTML资源,爬虫在抓取整个以GET方式请求的资源之前,通过创建HTTP的HEAD请求来决定网络资源的MIME类型。为了避免发出过多的请求,爬虫会检查URL和只请求那些以某些字符(如.html, .htm, .asp, .aspx, .php, .jsp, .jspx 或 / )作为后缀的URL。这个策略可是跳过很多HTML网络资源。

有些爬虫还能避免请求一些带有“?”的资源(动态生成)。为了避免掉入从网站下载无限量的URLs的爬虫陷阱。不过假若网站重写URL以简化URL的目的,这个策略就变得不可靠了。

URL标准化

爬虫通常使用某些URL标准化的方式以避免资源的重复爬取。URL的标准化(也成为URL的规范化),指的是以某种一致的方式修改和标准化URL的过程。这个过程有各种各样的处理规则,包括统一转换为小写、移除“.”和".."片段,以及在非空路径里插入斜杆。

路径递增爬取

有些爬虫希望从指定的网站中尽可能地爬取资源。而路径递增爬虫就是为了能爬取每个URL里的每个路径。 例如,给定一个Http的种子URL: http://llama.org/hamster/monkey/page.html ,要爬取 /hamster/monkey/ , /hamster/ 和 / 。Cothey发现路径能非常有效地爬取独立的资源,或以某种规律无法在站内链接爬取到的资源。

主题爬取

对于爬虫来说,一个页面的重要性也可以说是,给定查询条件一个页面相似性能起到的作用。网络爬虫要下载相似的网页被称为主题爬虫或局部爬虫。这个主题爬虫或局部爬虫的概念第一次被Filippo Menczer 和 Soumen Chakrabarti 等人提出的。

重新访问策略

网站的属性之一就是经常动态变化,而爬取网站的一小部分往往需要花费几个星期或者几个月。等到网站爬虫完成它的爬取,很多事件也已经发生了,包括增加、更新和删除。 在搜索引擎的角度,因为没有检测这些变化,会导致存储了过期资源的代价。最常用的估价函数是新鲜度和过时性。 新鲜度:这是一个衡量抓取内容是不是准确的二元值。在时间t内,仓库中页面p的新鲜度是这样定义的:

过时性:这是一个衡量本地已抓取的内容过时程度的指标。在时间t时,仓库中页面p的时效性的定义如下:

平衡礼貌策略

爬虫相比于人,可以有更快的检索速度和更深的层次,所以,他们可能使一个站点瘫痪。不需要说一个单独的爬虫一秒钟要执行多条请求,下载大的文件。一个服务器也会很难响应多线程爬虫的请求。 就像Koster所注意的那样,爬虫的使用对很多任务作都是很有用的,但是对一般的社区,也需要付出代价。使用爬虫的代价包括:

网络资源:在很长一段时间,爬虫使用相当的带宽高度并行地工作。

服务器超载:尤其是对给定服务器的访问过高时。

质量糟糕的爬虫,可能导致服务器或者路由器瘫痪,或者会尝试下载自己无法处理的页面。

个人爬虫,如果过多的人使用,可能导致网络或者服务器阻塞。

对这些问题的局部解决方法是漫游器排除协议(Robots exclusion protocol),也被称为robots.txt议定书,这份协议是让管理员指明网络服务器的不应该爬取的约定。这个标准没有包括重新访问一台服务器的间隔的建议,虽然设置访问间隔是避免服务器超载的最有效办法。最近的商业搜索引擎,如Google,Ask Jeeves,MSN和Yahoo可以在robots.txt中使用一个额外的 “Crawl-delay”参数来指明请求之间的延迟。

并行策略

一个并行爬虫是并行运行多个进程的爬虫。它的目标是最大化下载的速度,同时尽量减少并行的开销和下载重复的页面。为了避免下载一个页面两次,爬虫系统需要策略来处理爬虫运行时新发现的URL,因为同一个URL地址,可能被不同的爬虫进程抓到。

另见

robots.txt:放在网页服务器上,告知网络蜘蛛哪些页面内容可获取或不可获取。

参考文献

 


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱
发表评论
写好了,提交
{{item.label}}
{{commentTotal}}条评论
{{item.userName}}
发布时间:{{item.time}}
{{item.content}}
回复
举报
点击加载更多
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回

更多文章

更多精彩文章
打赏
私信

推荐阅读

· 爬虫两栖类学
相关资料
· 僵尸网络
用途黑客发送命令开“丧尸”的SOCKS代理用来发送垃圾邮件分布式拒绝服务攻击商业竞争对手的网站等共10种左右的用途危害程度
· 网络包
争议有人对网络包的提法有异议。但"争议"是不明显的。举例CyberdogMozillaSuite和SeaMonkey网景通信家网景浏览器Opera(12.17版本和之前)
· 网络推手
推介对象与媒介被推介的对象是要有一定成名“天分”,对女性来说,一般长得需要漂亮。某网络推手曾评价同行:“他本身不是美女,而且这个计划没有故事情节,不会有那么大的关注度”。不过也有特例,如某网络推手推出的“芙蓉姐姐”。互联网具有低成本的营销环境,并且有可以快速传播的特点。网络推手们主要使用的推广媒介网络论坛发布“帖子”,通常是不需要花费一分钱的,且论坛又具有博客所不能比的互动性,所以这些网络推手们主要选择大型论坛来实施他们的策划方案,如在猫扑、天涯及贴吧等大型BBS发贴。在此环节,web2.0概念并不被网络推手们推崇,某网络推手认为“别看blog被炒的很厉害,BBS才有戏”。“博客的水搞不深,水不够浑,水不够大。在论坛里面,发一条贴,几分钟,十几分钟就有很多回帖,而博客的互动性比较差。”推广方法策划网络推手们需要做的工作是使一个无任何名气的平民依靠网络来“走红”,现在的很多“网络红人”就是他...
· 自旋网络
彭罗斯原始定义1971年,罗杰·彭罗斯提出一种图形表示法,其中每个线段代表一个“单元”(基本粒子或粒子的复合系统)之世界线。三条线段汇聚在一个顶点。顶点可以诠释为一个事件;在此事件中,一个单元分裂成两个单元,或两个单元碰撞合而为一。当一图表中所有的线段都在顶点会合,则此图为“封闭自旋网络”。时间以单一方向行进,比如从图的底部走到图的顶部。然而在封闭自旋网络的例子,时间行进的方向对于计算不构成影响。每一线段标上一个称作自旋量子数的整数。带有自旋数n的一个单元称作n-单元,其角动量为nħ,ħ是约化普朗克常数。光子、胶子等玻色子,其n为偶数;电子、夸克等费米子,其n为奇数。给定一封闭自旋网络,则可计算出一个相应的非负整数的范数(norm)。范数可用来计算不同自旋值的概率。当一个自旋网络的范数是零,则其发生概率为零。当范数不为零时,在顶点处则有一些约束条件如下:若有三个单元会合在一顶点,这三单元分...

关于我们

关注族谱网 微信公众号,每日及时查看相关推荐,订阅互动等。

APP下载

下载族谱APP 微信公众号,每日及时查看
扫一扫添加客服微信