网页qq抓取什么原理(商用搜索引|擎的查询速度达到毫秒级,并且能够支持*敏*感*词*用户同时访问)
优采云 发布时间: 2022-01-27 11:22网页qq抓取什么原理(商用搜索引|擎的查询速度达到毫秒级,并且能够支持*敏*感*词*用户同时访问)
商业搜索引擎查询速度可达毫秒级,可支持*敏*感*词*用户同时访问。
影响速度的原因有很多,比如分词的效果,索引的效率| 库、分布式查询的处理能力和查询缓存的命中率等,将在第 3 章和第 4 章详细介绍。
1.2.2全部
在传统的信息检索(Information Retrieval)中,以召回率作为衡量检索是否全面的指标(召回率也称为召回率)。召回率是查询到的相关网页的数量和所有相关网页的数量。数之比。例如,在搜索引擎中查询“XML”。如果世界上有M个收录“XML”关键词的网页,搜索引擎实际检索到这M个网页中的N个,那么召回率为N/Mx100%。
能否找到完全取决于网络索引数据库的大小。如果web库只收录两个xml查询结果,即使检索出来,召回率也是极低的。可见,被索引的页面越多,越有助于提高召回率。
1.2.3 标准
在传统的信息检索中,精度是作为衡量检索准确性的指标。精度是检索到的相关文档的数量与检索到的文档总数的比率。比如你在搜索引擎中查询“XML”,在实际检索到的N个网页中,只有P个网页与查询“XML”(Relavant)相关,那么精确率为P/Nx 100% .
在搜索引擎的特殊检索实践中,召回率往往并不重要。测量也不是很有意义,因为没有一个用户会浏览与查询相关的所有页面。一般情况下,用户最关心的只是搜索结果中的前几项。准确率在很大程度上决定了搜索的质量。在前10个搜索结果(搜索结果的第一页)中,用户的查询目的得到满足,是搜索引擎准确率的主要体现。
能否准确找到,主要取决于网页的排名。常见的排序方法有PageRank等,第3章会介绍,第7章会详细介绍。
1.2.4 稳定
毫无疑问,一个搜索引擎必须是一个能够长期稳定地提供服务的系统,所以系统的稳定运行是一个非常重要的要求。尤其是商业搜索引擎,其稳定性已经提升到了相当的高度。在任何情况下都可以牺牲检索质量和检索速度,但必须能够提供持续的信息检索服务。
对于搜索引擎来说,查询来自四面八方,查询词也相差很大,同时进行的查询量也很大。为了稳定地满足这些查询需求,需要在系统结构上进行权衡。在文件存储方式、查询系统和搜索方面| 系统设计,由于搜索引擎处理了数百亿的网页信息,它每天也接受来自数十亿用户的数据。搜索引擎的高能耗和搜索引擎的高能耗成为众矢之的。哈佛物理学家 Weisner-Gloss 指出,如果一台台式电脑在 Google网站 上执行两次搜索,所产生的二氧化碳量相当于煮一壶茶。
搜索引擎的成本主要来自三个方面:电费、带宽、机器折旧。所以,同样的工作,尽量少用机器,尽量少用低能耗的机器,或者用低能耗的空调,这样可以大大节省能耗。从技术上讲,使用更少的机器是我们关心的问题。主题,我们将在优化章节中进行简要介绍。从细节上讲,一个网页就是一个从头到尾的网页。在搜索引擎内部,会有两种不同的形式,一种是以网页库的形式存储的;另一种是以网页库的形式存储的;另一个是存储在索引库中的网页对象。搜索弓|引擎的主要数据来源于网页,而网页的处理能力是搜索引擎面临的主要挑战。下载系统和索引|系统将分别介绍一些数据存储的相关知识。
一个网页在万维网(WW)中诞生,然后由下载系统下载,然后分析并索引到数据库中,最后进入用户(Client)的大脑,因为其中收录一个关键词检索网页。如此美妙的旅程有哪些细节?每个系统在内部是如何工作的?搜索引擎的全貌将在接下来的 4 章中按此顺序展开。
现代搜索引擎的想法源于 Wanderer,很多人改进了 Matthew Grey 的蜘蛛程序。1994 年 7 月,Michael Mauldin 将 JohnLeavitt 的蜘蛛程序集成到他的搜索程序中,创建了当时著名的搜索引擎 Lycos(http://
file:///C:%5CUsers%5CADMINI~1%5CAppData%5CLocal%5CTemp%5C%W@GJ%24ACOF(TYDYECOKVDYB.png
)。此后,无数搜索引擎促使爬虫写得越来越复杂,逐步向多策略、负载均衡、*敏*感*词*增量爬取的方向发展。爬虫的工作使搜索引擎能够检索几乎所有万维网页面,甚至可以通过称为“页面快照”的功能访问已删除的页面。
前人的辉煌成就令人惊叹,那么爬虫是如何实现这些功能的呢?为什么它巧妙、合理、强大?让我们先从爬虫入手,深入了解一下搜索引擎的下载系统。
网站排名优化如果要将网页文件下载到本地硬盘,对于Linux操作系统用户,只需要输入命令:
/index.html
然后使用 v 打开文件。Windows 操作系统的用户可以下载一个 wget 程序,该程序使用相同的方法下载网页。
从这个角度来看,下载一个网页就是这么简单,如果要下载整个万维网,应该使用什么样的遍历规则呢?
2.4.2 从torrent网站开始逐层抓取
基于万维网的蝴蝶结结构,非线性的网络组织结构,存在一个爬取的“顺序”问题,即先爬哪些,后爬哪些。这种解决爬取“顺序”的策略必须保证尽可能多地爬取所有页面(本章不区分爬取和下载页面)。
一般爬虫选择弓左边的页面。即目录类网页作为*敏*感*词*站点(爬取起点),典型的如新浪网和
file:///C:%5CUsers%5CADMINI~1%5CAppData%5CLocal%5CTemp%5C8LDO48C%248@%5BGWU0353%24FOVS.png
此类用户的主页 网站。提取每个爬取网页后的链接(提取方法需要一定的HTML解析和区分绝对路径和相对路径的技巧等),这些字符串形式的链接是指向其他网页的URL,引导爬虫更多地爬取其他网页深。一个网页往往收录多个链接,所以在提取了网页的链接后,如何继续爬取其他网页,爬虫有以下两种选择来处理爬取的“顺序”问题。继承顺序为长子>长孙>长孙其他兄弟>次子>次子其他兄弟。这种先选择某个分支的策略,
(2) 广度优先遍历。
广度优先,也称为“广度优先”,或“层优先”,是一种层次距离递增的遍历方法,类似于long and young order的规则。晚辈给长辈供茶时,总是先给长辈,然后再给长辈,如图2-3所示。在图 2-3 中,祖先的优先级最高,第二层的优先级高于第三层。内部优先考虑前辈。所以这里二儿子的优先级要大于长孙,这就是广度优先的策略。
选择广度优先而不是 fetch order 策略有以下三个原因。
首先,重要页面往往更靠近 torrent 站点,这很直观。当我们打开某个新闻网站时,最重要的新闻往往会映入我们的眼帘。随着不断的冲浪(可以理解为深度加深),你看到的网页变得越来越不重要,甚至偶尔会变得无法访问。
其次,万维网的深度并没有我们想象的那么深。通常有很多路径可以到达某个网页,并且总是有很短的路径可以到达它。研究表明,中国万维网的直径只有17个长度。
最后,广度优先规则有利于多爬虫协同爬行(这种协同策略后面会提到)。这是因为规则开始爬取的网页通常是站内网页,只会逐渐遇到站外链接,所以爬取比较封闭。
搜索排名优化进行广度优先遍历时,必须有队列(queue)数据结构的支持。该队列被理解为工作负载队列。只要有未完成的爬取任务,就需要提取队列头部的网页继续爬取。直到所有 fetch 任务完成且工作负载队列为空。具体抓取过程如图2-4所示。