动态网页抓取((43页珍藏版)搜索引擎基本原理及实现技术搜索引擎的工作原理)

优采云 发布时间: 2022-02-21 20:03

  动态网页抓取((43页珍藏版)搜索引擎基本原理及实现技术搜索引擎的工作原理)

  《搜索引擎基本原理与实现技术.ppt》为会员共享,可在线阅读。更多相关《搜索引擎基本原理与实现技术.ppt(43页珍藏版)》,请在usdt平台_usdt官网搜索。

  1、搜索引擎基本原理及实现技术搜索引擎工作原理通用搜索引擎框架*敏*感*词*通用网络爬虫爬虫技术概述网络爬虫是自动提取网页进行搜索的程序来自 Internet 的引擎 下载网页是搜索引擎的重要组成部分。网络爬虫使用多线程技术使爬虫更加强大。网络爬虫还需要完成信息抽取任务。提取新闻、电子书、行业信息等,针对MP3图片、Flash等。对各类内容进行自动识别、分类和相关属性测试,如MP3文件的文件大小、下载速度等。爬网时

  2、继续从当前页面中提取新的URL,放入队列中,直到满足系统的某个停止条件。2 动态网页分析 动态网页参数按照一定的规则拼出所有要爬取的URL,并且只爬取这些特定的范围。动态网页 3 RSS XML 数据等特殊内容需要特殊处理 如新闻滚动新闻页面需要爬虫不断监控扫描发现新内容,立即抓取 4 文件对象图片 MP3 Flash 视频等文件需要特殊抓取例如,图像捕获后,需要知道图像文件类型的大小,图像文件的大小,图像的像素大小,图像的像素大小需要进行转换。

  3、抓取会定期更新捕获的网页。垂直爬虫只关注特定主题或属于特定行业的网页。难点在于如何识别网页是否属于指定的类别。优秀爬虫的特点 高性能URL队列的存储方式会影响性能 可扩展性 多服务器 多线程爬取 不同地域 部署数据中心 将爬虫分散到不同的数据中心 禁止爬虫的几种情况 User agent GoogleBotDisallow tmp Disallow cgi bin Disallow users paranoid Robot txt 禁止索引网页内容 禁止抓取网页链接 Content 标签对应的具体含义 爬虫质量的评价标准

  4、1 覆盖范围 2 爬取网页的新颖性 3 爬取网页的重要性 大型商业搜索引擎一般至少收录两套不同用途的爬虫系统。针对更新频率较低的网页的网页抓取策略 1 广度优先遍历策略 2 深度优先遍历策略 3 不完整的页面排名策略 4 OPIC 策略 OnlinePageImportanceComputation 5 大站点优先策略 广度优先策略 将新下载页面中的链接直接插入等待中URL队列的末尾,表示网络爬虫会先爬取起始网页链接的所有网页,然后选择其中一个链接的网页继续爬取该网页链接的所有网页。爬行顺序 1 2

  5、 3 4 5 6 7 8 9 深度优先策略从起始页开始,一个链接,一个链接,然后向下。处理完这一行,进入下一个起始页面,继续按照链接爬取顺序 1 2 5 6 3 7 4 8 9 PageRank简介 1 初始阶段,网页通过链接关系构建Web图。每个页面设置相同的 PageRank 值。经过几轮计算,将得到每个页面最终得到的PageRank值。随着每一轮计算,网页当前的PageRank值会不断更新。2 一轮更新页面PageRank得分的计算方法在一轮更新页面的PageRank得分计算中,每个页面都会将其当前的 PageRank 值平均分配给该页面中收录的传出链接。转到每个链接,以便您可以获取

  6、对应的权重和每个页面将所有指向该页面的传入链接中传递的权重相加得到一个新的PageRank分数。当每个页面得到更新后的PageRank值时,就完成了一轮PageRank计算。不完整的PageRank策略 将下载的网页和URL队列中的URL一起爬取,形成一组网页。该集合中pagerank计算完成后,根据PageRank计算URL队列中待爬取的网页。分数从高到低排列形成的序列就是爬虫接下来应该爬的URL列表。每当下载K个页面时,重新计算所有下载的页面及其不完整的PageRank值OPIC策略OnlinePageImportanceComputation这个算法

  7、其实也是一个页面的重要性分数。在算法开始之前,所有页面都被赋予相同的初始*敏*感*词**敏*感*词*。当一个页面P被下载时,P的cash被分配给从P分析的所有链接。并清除P的cash。根据cash的数量对URL队列中所有待爬取的页面进行排序。大站点优先策略以 网站 为单位衡量网页的重要性。对于URL队列中所有待爬取的网页,根据其网站的网站对待下载的页面进行分类网站

  在8、中,关于不断变化的主题内容的用户体验策略假设用户经常只查看前3页的搜索内容。Principle 保存网页的多个历史版本,并根据过去每次内容变化对搜索质量的影响取平均值。作为判断抓取网页时机的参考依据,对质量影响较严重的网页将优先安排重新抓取聚类抽样策略。前两种更新策略是有前提的,需要网页的历史信息。存在两个问题: 1、每个系统保存多个版本的历史信息,增加了很多系统负担。2 新网页完全没有历史信息,无法确定更新策略。聚类抽样策略 聚类抽样策略考虑到网页有很多属性。同理,计算某一类页面的更新频率,只需按更新周对该类页面进行采样即可。

  9、周期是整个类的更新周期。分布式爬虫系统结构 一般来说,爬虫系统需要面对整个互联网上亿万的网页。单个爬虫程序不可能完成这样的任务。往往需要多个爬取程序一起处理。一般来说,爬虫系统往往是分布式的三层结构。底层是分布在不同地理位置的数据中心。每个数据中心有多个爬虫服务器,每个爬虫服务器上可以部署多套爬虫程序,构成一个基本的分布式爬虫系统。主从基本结构有一个专门的主服务器来维护要爬取的URL队列,它负责每次分发 URL。转到不同的 Slave 服务器,Slave 服务器负责实际的网页下载。主服务器还负责维护要爬取的 URL 队列和分发 URL。

  10、负责调整各个从服务器的负载,防止部分从服务器过于空闲或过度工作。在这种模式下,master容易成为系统的瓶颈。对等的工作结构。所有抓取服务器之间的分工没有区别。每一个爬取服务器都可以从待爬取的URL队列中获取该URL,然后计算该URL主域名的哈希值H,进而计算出Hmodm,其中m为服务器数量。比如上图中m为3,计算出来的个数是为了处理URL的主机号的缺点是扩展性差。一致性哈希对 URL 的主域名进行哈希运算,并将其映射到 0 232 范围内的一个数字,并根据 URL 的主域名将该范围平均分配给 m 个服务器。哈希运算的取值范围决定了要爬取的服务器。如果某个服务器有问题,那么

  11、 那么应该负责这个服务器的网页会被下一个服务器按顺时针顺序爬取。暗网爬取查询组合题文本框填入题目的网络爬虫实现环节的存储队列的数据结构。待爬取队列已爬取队列无效 链接错误链接 网页抓取 Jsoup jar 官方网站http jsoup org 相关学习资料 getElementById Stringid 获取id为getElementsByTag Stringtag 获取标签为getElementsByClass StringclassName 获取class为getElementsByAttribute的元素Stringkey 使用 Attribute 获取元素 获取元素的数据 attr 方法如下

  12、 Stringkey 获取元素数据 attr Stringkey Stringvalue t 设置元素数据属性 获取所有属性 id className classNames 获取 idclass 值 text 获取文本值 text Stringvalue 设置文本值 html 获取 html 字符串值设置 htmlouterHtml 获取内部 html try doc Jsoup connect urlStr userAgent Mozilla 5 0 Windows U WindowsNT5 1 zh CN rv 1 9 2 15 设置用户代理超时

  13、t 5000 设置连接超时时间 get catch MalformedURLExceptione log error e return catch IOExceptione if einstanceofSocketTimeoutException log error e return if einstanceofUnknownHostException log error e return log error e return system out println doc title Elementhead doc head Elementsmetas head select meta为了

  14、 Elementmeta metas Stringcontent meta attr content Elementbody doc body Elementses body select a for Iteratorit es iterator it hasNext Elemente Element it next href e attr href 链接 提取 机构部门 招生就业 合作交流 提高爬虫效率 多线程爬取优化存储结构根据不同类型的链接制定爬取策略。示例说明 主要步骤 1 输入*敏*感*词*页面的URL,爬取爬取线程的深度。2 根据初始url获取*敏*感*词*页面的内容。注 1。

  15、 合法的两种方法 a 判断url是否符合协议规则 b 判断url是否可以打开 while counts 3 try URLurl newURL urlStr HttpURLConnectioncon HttpURLConnection url openConnection intstate con getResponseCode if state 200 retu ok break catch Exceptionex counts continue 2*敏*感*词* 页面要获取的内容收录标题正文文本超链接开源jar包jsoup Documentdoc Jsoup connect sUrl get El

  16、ementslinks doc select a href for Elementlink links StringlinkHref link attr href 获取href属性中的值,也就是你的地址 StringlinkTitle budge link text 获取anchor上的文字描述 3 多线程爬取根据爬行深度其实就是把第2步重复很多次。注意判断url是否重复。推荐使用hashset存储 HashSetallurlSet newHashSet 定义 hashsetallurlSet contains url 判断url是否已经存在 allurlSet add url 将url添加到allurlSet 4 存储爬取过程中页面的信息 信息包括网页地址页面、标题、链接数、正文、正文、超链接、锚文本等 5.存储方式 1.文档推荐。易于更改的信息存储在文件中。2.数据库存储在数据库中。网站所有地址均采用深度优先或广度优先的爬取策略。合理高效的存储结构,禁止爬行循环。课后学习PageRank算法的原理和实现方法。Java网络编程不需要jsoup。深入研究自己感兴趣的话题,比如在暗网上爬取分布式爬虫等。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线