网络爬虫基本原理10.04.202010.04.2020目录基本描述需要理解的算法数据分类抓取策略更新策略10.04.2020网络爬虫网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的开始,获得初始网页上的,在抓取网页的过程中,不断从当前页面上抽取新的放入队列,直到满足系统的一定停止条件。10.04.2020聚焦爬虫传统爬虫从一个或若干初始网页的开始,获得初始网页上的,在抓取网页的过程中,不断从当前页面上抽取新的放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。10.04.2020简单流程::10.04.2020下载网页库种子已抓取待抓取解析网页数据分析下载网页进入已抓取队列从队列信息中抽取新的作为初始需要理解的算法.关键字匹配::字符串匹配算法(算法)有限自动机算法*算法.网页内容冗余::卡时.大数量网页处理::*分布式.防止重复遍历::字符串10.04.2020数据分类.已下载未过期网页.已下载已过期网页:抓取到的网页实际上是互联网内容的一个镜像与备份,互联网是动态变化的,一部分互联网上的内容已经发生了变化,这时,这部分抓取到的网页就过期了。.待下载网页:也就是待抓取队列中的那些页面。.可知网页:还没有抓取下来,也没有在待抓取队列中,但是可以通过对已抓取页面或者待抓取对应页面进行分析获取到的,认为是可知网页。.不可知网页:还有一部分网页,爬虫是无法直接抓取下载的10.04.2020数据分类::10.04.2020已抓取未过期已抓取已过期已知网页数据分类::10.04.2020不可知网页抓取策略::暴力.深度优先搜索.广度优先搜索.大站优先策略对于待抓取队列中的所有网页,根据所属的网站进行分类。对于待下载页面数多的网站,优先下载。这个策略也因此叫做大站优先策略。10.04.2020抓取策略::技巧.反向链接数策略反向链接数是指一个网页被其他网页链接指向的数量。反向链接数表示的是一个网页的内容受到其他人的推荐的程度。因此,很多时候搜索引擎的抓取系统会使用这个指标来评价网页的重要程度,从而决定不同网页的抓取先后顺序。在真实的网络环境中,由于广告链接、作弊链接的存在,反向链接数不能完全准确评价网页的重要程度。因此,搜索引擎往往考虑一些可靠的反向链接数。10.04.2020抓取策略::技巧策略算法借鉴了算法的思想。对于已经下载的网页,连同待抓取队列中的,形成网页集合,计算每个页面的值,计算完之后,将待抓取队列中的按照值的大小排列,并按照该顺序抓取页面。策略策略该算法实际上也是对页面进行一个重要性打分。在算法开始前,给所有页面一个相同的初始现金()。当下载了某个页面之后,将的现金分摊给所有从中分析出的链接,并且将的现金清空。对于待抓取队列中的所有页面按照现金数进行排序。10.04.2020更新策略::可持久化数据结构.历史参考策略顾名思义,根据页面以往的历史更新数据,预测该页面未来何时会发生变化。一般来说,是通过泊松过程进行建模进行预测。.用户体验策略尽管搜索引擎针对于某个查询条件能够返回数量巨大的结果,但是用户往往只关注前几页结果。因此,抓取系统可以优先更新那些现实在查询结果前几页中的网页,而后再更新那些后面的网页。这种更新策略也是需要用到历史信息的。用户体验策略保留网页的多个历史版本,并且根据过去每次内容变化对搜索质量的影响,得出一个平均值,用这个值作为决定何时重新抓取的依据。10.04.2020更新策略::统计学改进.聚类抽样策略前面提到的两种更新策略都有一个前提:需要网页的历史信息。这样就存在两个问题:第一,系统要是为每个系统保存多个版本的历史信息,无疑增加了很多的系统负担;第二,要是新的网页完全没有历史信息,就无法确定更新策略。而聚类抽样策略认为,网页具有很多属性,类似属性的网页,可以认为其更新频率也是类似的。要计算某一个类别网页的更新频率,只需要对这一类网页抽样,以他们的更新周期作为整个类别的更新周期。10.04.2020的个人博客《这就是搜索引擎——核心技术详解》张俊林电子工业出版社《搜索引擎技术基础》刘奕群等清华大学出版社10.04.2020谢谢观看ACM201310.04.2020个人整理,仅供交流学习!