1 下载--构建网络爬虫

1.1 图遍历算法的取舍

从理论上讲,广度优先搜索(BFS)和深度优先搜索(DFS)算法的时间复杂度都是 O(n + e),不同的算法爬下整个静态网页的内容所用的时间是相同的。但在现实生活中,时间有限,互联网时刻变化。所以应该考虑有限时间里尽可能多的爬下最重要的网页,一个网站中最重要的网页应该是它的首页以及首页所连接的页面,BFS 明显优于 DFS.但实际的网络爬虫都是由很多服务器组成的分布式系统,这些下载服务器和网络服务器建立通信需要额外时间,这时就需要用到 DFS 以避免握手次数过多。

1.2 提取URL并做出URL表

有些页面的 URL 以文本形式存储在页面中,有明显标识;而有些时候需要模拟浏览器运行才可以提取到页面中隐含的 URL.但在互联网这张大图上,一个页面可能被多个页面所指向,遍历时,为了防止一个网页被重复下载,这时就需要一个哈希表做记录,即遇到一个网页,首先查找判断 URL 是否在表中,若存在直接跳过,若不存在,下载页面并将这个页面的 URL 存入哈希表中。但是如果同时有上千台服务器一起下载网页,为了避免不同服务器重复判断一个 URL,要注意存储哈希表的服务器的通信问题。第一,调度系统要明确每台下载服务器的分工,减少 URL 的重复判断次数;第二,尽可能使用批处理,每次向哈希表发送一批询问和更新一批内容,减少通信次数。

2 索引--布尔代数

索引是基于数据库的,数据库的 SQL 查询背后的基本原理是布尔运算,支持各种复杂的逻辑组合,而今天的搜索引擎即是把用户输入的自然语言查询转换成布尔代数。最简单的索引结构就是一串很长的二进制数,这个数的位数代表有多少网页,每一位对应一个页面,1 代表这个页面中有这个关键字,0 代表没有。比如查询“宠物沐浴液”,关键字“宠物”对应的二进制数是 100011010000000…,表示第一、第五、第六、第八个页面包含这个关键字;关键字“沐浴液”对应的二进制数是011010010000000…,要筛选出同时包含“宠物”和“沐浴液”网页时,只需将这两个数进行布尔运算 AND,结果为 000010010000000…,可知第五、第八个页面满足要求。综上,互联网搜索引擎的索引是一张大表,每一行是一串二进制数字,表示包含某个关键词的页面序号。

3 排序--网页质量的度量

PageRank 的核心思想:一个页面用户访问的越多质量越高,而用户在浏览网页时主要通过超链接进行页面跳转,因此我们需要通过分析超链接组成的拓扑结构来推算网页被访问的频率。其中,指向这个网页的其他页面本身也有一个自己的权重。一个网页的 PageRank值应该来源于所有指向这个网页的其他页(X1,X2,…,.Xk)的权重(Y1,Y2,…,.Yk)之和,即

对矩阵 A 按行切分 10 份,对矩阵 B 按列切分 10 份。每个结果的计算量都是最后结果的十分之一,用 10 倍的空间复杂度缩短 10 倍的时间复杂度。MapReduce 即是把一个大任务分成多个子任务,分布到不同的计算机中计算,最后再将中间结果合并成最终结果。

4 结语

在搜索引擎中,给定一个特定查询,有关网页的排名大致由相关性和网页本身质量所确定。但是任何搜索产品给出的结果都不完美,排名靠前的不一定是高质量的,而是商业气息很浓的。针对 PageRank 算法会出现很多卖链接的网站,解决办法主要用到余弦定理和图论中的 Clicque 算法。即便是有好的算法来衡量网页质量和查询相关性,但搜索反作弊仍旧是一个长期的任务,需要不断的消除“噪音”,才能提高搜索引擎的质量。

谷歌学术的搜索原理_谷歌搜索引擎产品的工作原理研究相关推荐

  1. 卡方检验 原理_什么是卡方检验及其工作原理?

    卡方检验 原理 As a data science engineer, it's imperative that the sample data set which you pick from the ...

  2. 反激qr工作原理_锂电池均衡电路的工作原理

    Δ  点击上方蓝色字关注 21Dianyuan * 本文是 21Dianyuan 社区资深版主 YTDFWANGWEI  原创  技术文章,感谢作者的辛苦付出. 新能源和电动汽车的发展,都会用到能量密 ...

  3. 简述ospf的工作原理_全方位了解OSPF的工作原理以及涉及到的重要技术

    OSPF协议是IGP中的一种动态路由协议,它属于链路状态协议,交互的是LSA(链路状态通告)信息,对路由信息的认知很清晰.该文主要阐述了OSPF协议的工作原理.OSPF状态机以及OSPF协议中涉及到的 ...

  4. 加密机工作原理_端子机压力检测装置工作原理

    上期我们介绍了端子机压力管理装置的使用常识,这期我们介绍端子机压力管理装置的工作原理,端子机压接管理装置,有单通道压力监测和双通道压力监测二种,双通道压力监测装置,一般用于双头端子压接机上,一台主机可 ...

  5. 预充电电路工作原理_常见变频空调室外机电路工作原理及组成

    一.室外机电控系统特点 变频空调器电控系统由室内机和室外机组成.本节对几种常见形式的室外机电控系统的特点作简单说明. 1.海信KFR-4001GW/BP室外机电控系统 电控系统由室外机主板和模块板两块 ...

  6. 传感器工作原理_光电式速度传感器的工作原理

    光电式转速传感器基于光电效应.物质(金属或半导体)在光作用下发射电子的现象,称为光电效应.由于被光照射的物体材料不同,所以产生的光电效应也不同,通常,光电效应分为外光电效应和内光电效应. 外光电效应∶ ...

  7. 预充电电路工作原理_变频冰箱开关电源电路工作原理及检修。

    电冰箱的开关电源电路主要用来为电冰箱其他电路和各部件提供工作电压,市电220V 电压经过开关电源电路处理后,通过接线端子为电冰箱的用电部件供电. 下图所示为三星BCD-226型电冰箱的开关电源电路框图 ...

  8. bmp180气压传感器工作原理_氢气传感器的的工作原理

    原标题:氢气传感器的的工作原理 氢气是一种看不见.闻不到.没有气味的易燃.易爆气体.在我们的生产生活中,有一些场所容易发生氢气释放和泄漏,通过使用氢气监测设备,对空气中的氢气浓度进行实时监测. 氢气传 ...

  9. 数字调制系统工作原理_无人值守道闸系统的工作原理

    无人值守道闸系统是专门用于道路上限制du机动zhi车行驶的通道出入口管理设dao备 ,现广泛版应用于公路收费站.停车场.小区.企事业单位门口,来管理车辆的出入.电动道闸可单独通过遥控实现起落杆,也可以 ...

  10. eja智能压力变送器工作原理_如何理解智能压力变送器工作原理及功能介绍

    如何理解智能压力变送器工作原理及功能介绍 智能压力变送器一般是由传感器.微处理器.存储器及模数.数模转换器组成.传感器用来检测被测量的信号,其所用材料因厂家而异.横河EJA为硅谐振式,把被测参数转换为 ...

最新文章

  1. 在 ASP.NET 中使用 HTTPHandler 实现 Front Controller
  2. android studio 将文件打包成jar文件
  3. 性能计数器取网卡流量
  4. 提高sql性能的方法
  5. TODO:从数据库中随机抽取一条记录
  6. 接口测试客户端的搭建
  7. Nodejs 英雄管理系统
  8. 7-66 计算工资 (15 分)
  9. BranchCache实验(1)总部的服务器配置
  10. java 大学考试_大学java期末考试试题
  11. 斐讯K2刷华硕固件+全套工具
  12. 阴阳师哪个服务器可以用微信登录,网易大神怎么绑定阴阳师QQ微信账号 网易大神绑定阴阳师QQ微信账号方法...
  13. 科大讯飞,百度,思必驰,云知声四款识别引擎降噪算法性能对比
  14. 成都实施垃圾分类草案
  15. java 极客漫画_漫画:Java如何实现热更新?
  16. 【容器】Podman容器快速上手
  17. win10的怎么调计算机亮度,win10电脑亮度怎么调
  18. 九度 题目1335:闯迷宫 题目1365:贝多芬第九交响曲
  19. Java基础 println print 实现输出换行
  20. 【数据库原理】概念结构、逻辑结构设计案例

热门文章

  1. day57 闭包函数 函数提升 BOM操作 js选择器 替换元素 类属性操作
  2. 大数据风控在信贷行业的应用
  3. 【Web】CSS实现鼠标悬停实现显示与隐藏 特效
  4. 实用功能#用Python给你的微信升升级吧
  5. 一个公众号可以绑定几个小程序_微信开放平台可以绑定几个小程序和公众号?...
  6. GitLab安装到实战
  7. 10GBASE-T SFP+电口模块知识百科
  8. 疯狂java讲义第七章补充习题第12题答案
  9. 为什么在浏览器中不能使用搜狗输入法,而其他地方是可以的
  10. 网站前台静态页面html模板