没有爬虫,就没有今天的搜索引擎
但是在实际情况中,如果单纯按反链策略去决定一个网页的优先程度的话,那么可能会出现大量的作弊情况。所以采用反向链接策略需要考虑可靠的反链数。除了以上这些爬行策略,在实际中还有很多其他的爬行策略,比如OPIC策略、Partial PageRank策略等。 2.爬取频率 一个网站的网页是经常更新的,作为爬虫方,网站的更新频率与爬虫访问网站的频率越接近,则效果越好。当然,在爬虫服务器资源有限的情况下,爬虫也需要根据对应策略,让不同的网页具有不同的更新优先级,优先级高的网页更新,将获得较快的爬取响应。常见的网页更新策略主要有如下3种: ![]() (1)用户体验策略:大部分用户在使用搜索引擎查询某个关键词的时候,只会关注排名靠前的网页,所以,在爬虫服务器资源有限的情况下,爬虫会优先更新排名结果靠前的网页。 (2)历史数据策略:指的是可以依据某一个网页的历史更新数据,通过泊松过程进行建模等手段,预测该网页下一次更新的时间,从而确定下一次对该网页爬取的时间。 (3)聚类分析策略:网页可能具有不同的内容,但是一般来说,具有类似属性的网页其更新频率类似,所以可以对海量的网页进行聚类分析,聚类完成后,可以依据同一个类型网页平均更新值来设定爬取的频率。 五、网络爬虫的实现技术对于实现技术,本文不做展开,仅为有兴趣的同学提供几个常见的语言:Python、Java、PHP、Node.JS、C++、Go语言(此外,网络爬虫的开发语言还有很多)。 Python:爬虫框架非常丰富,并且多线程的处理能力较强,并且简单易学、代码简洁,优点很多。 Java:适合开发大型爬虫项目。 PHP:后端处理很强,代码很简洁,模块也较丰富,但是并发能力相对来说较弱。 Node.JS:支持高并发与多线程处理。 C++:运行速度快,适合开发大型爬虫项目,成本较高。 Go语言:同样高并发能力非常强。 六、小结说到爬虫,很多人都认为它是网络世界中一个不可而为之的灰色地带。恭喜你,读完这篇文章,你对此的认知就超过了好多人。 因为爬虫分为善意爬虫和恶意爬虫,例如,搜索引擎的爬虫。善意爬虫严格遵守Robots协议规范爬取网页数据(如URL),它的存在能够增加网站的曝光度,给网站带来流量; 而恶意爬虫,它无视Robots协议,对网站中某些深层次的、不愿意公开的数据肆意爬取,其中不乏个人隐私或者商业秘密等重要信息。并且恶意爬虫的使用方希望从网站多次、大量的获取信息,所以其通常会向目标网站投放大量的爬虫。如果大量的爬虫在同一时间对网站进行访问,很容易导致网站服务器过载或崩溃,造成网站经营者的损失。 据统计,我国2017年互联网流量有42.2%是由网络机器人创造的,其中恶意机器(主要为恶意爬虫)流量占到了21.80%。我们应该依法合理地使用网络爬虫,这样才能运用技术为企业带来长久发展,用科学为社会创造更高价值。
(编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |