• 通用爬虫工作原理与特性

    搜索器是搜索引擎中很关键也是很基础的构件。通常利用网络爬虫技术实现搜索器的功能。 不同应用,爬虫系统的实现方式各有千秋,但其具有通用的特性及流程框架。通用爬虫框架图如图3-1所示。

确定种子URL,将其放入待抓取URL队列,爬虫从该队列开始依次读取,将URL通过DNS解析,完成网址与IP地址的转换,将网页相对路径交给网页下载器下载网页内容。将已下载的本地网页库存储至页面库等待建立索引项等后续处理,并将该已下载URL放入已抓取URL队列中,避免重复抓取。同时对刚下载的网页,抽取所有链接信息,与已抓取URL队列对比,将为抓取URL加入到未抓取URL队列队尾。如此循环往复,直至未抓取URL队列清空。上述为爬虫通用工作流程,除此之外,高效的爬虫还应具备网页去重及网页反作弊的功能。

优秀的爬虫除了上述功能完整外,还具备如下通用特性。
高效性。主要衡量网页抓取速度。设计爬虫时,程序访问磁盘的操作方式及实现时数据结构的选择对爬虫的效率有至关重要的影响。
可扩展性。爬虫需要抓取的网页数据量巨大,通常通过扩展爬虫系统的方式来解决该问题。目前,大型网站爬虫均是分布式爬虫。即,多台服务器抓取,且每台服务器上部署多个爬虫项目,每个爬虫以多线程形式运行,增加并发。
健壮性。网页数据多样,爬虫经常会出现各种异常情况,甚至抓取服务器死机,健壮的服务器应该做到断点续爬。
友好性。频繁的爬取网页会对网站托管服务器造成极大的压力,或者有些网站并不希望所有数据都抓取。因此便出现了爬虫抓取协议和网页禁抓标记。爬虫抓取协议指网站所有者生成指定的robot.txt文件放于网站服务器根目录下,该文件内记录了不允许爬虫爬取的目录。网页禁抓协议只网页存在robots标记,并通过content指定禁止的操作方式。
从用户角度出发,优秀的爬虫应具备如下特性。抓取网页覆盖率大、抓取网页时新性及抓取网页重要性高(搜索精度高)。符合以上三点的网络爬虫,将为用户带来绝佳的用户体验。

  • 暗网抓取
    目前,搜索引擎主流的抓取策略主要有宽度优先遍历策略、非完全PageRank策略、OPIC策略(Online Page Importance Computation)、大站优先策略等。通过以上不同策略,对待抓取URL队列进行更新,通过常规的网页解析达到海量数据抓取。但是,很多网站的内容以数据库形式存在,并没有显示链接指向数据库内数据记录,需要用户输入查询后,才可能得到相关数据。于是,暗网技术应运而生。
    暗网技术的关键在于如何全棉精确的查询条件。通常有如下策略。查询组合问题和文本框填写策略。
    查询组合问题。Google提出了富含信息查询模板,并运用ISIT算法来提高系统效率。假定完整的查询有N个不同属性构成,每个属性Ni有M个不同的赋值项,当输入查询属性时,若有c个确定的属性被赋值,则称该模板为C维模板。富含信息查询模板是指对于每个固定的模板,若每个模板属性都被赋值,形成不同的查询组合,若查询返回的页面内容差异较大,则称该模板为富含信息模板。Google利用ISIT算法,从一维模板开始寻找富含信息模板,若存在扩展到二位,再次寻找富含信息模板,逐步增加维数,直至无富含信息模板。利用该方法,与完全组合相比,大幅度提升了系统效率。
    文本框填写问题。通过人工网站定位,为不同网站提供不同的关键词汇表,爬虫依据此词汇表提交查询,并从相关返回信息中挖掘相关关键词,形成新的查询词表,依次查询,循环往复,直至无法下载到新内容为止。通过人工网站定位与递归迭代查询,尽可能覆盖数据库信息。

搜索引擎(三)-- 搜索器相关推荐

  1. 音乐搜索器 多站合一_分享一堆可以免费听音乐的良心网站!赶紧码住哦

    哈喽,我是二哈君,这次是轮到我给大家安利资源了.这次我带来的是一堆可以免费听音乐和下载音乐的网站,下面我们就来一起看下吧. 一.墨灵音乐 地址:music.mli.im 墨灵音乐是一款界面简洁干净.无 ...

  2. Golang实现文件搜索器

    Golang实现文件搜索器 前言 一.文件搜索器 二.使用步骤 1.查看帮助 2.查询文件 三.代码说明 1.命令行参数解析 2.递归查询实现 四.完整代码 前言 这个搜索器使用到了Golang fl ...

  3. 开源搜索引擎 种子搜索_使用开源搜索引擎自定义您的互联网

    开源搜索引擎 种子搜索 很久以前,互联网很小,只有几个人可以将它们编入索引,这些人收集了所有网站的名称和位置,并按页面或印刷书籍中的主题列出了它们. 随着万维网网络的发展,"网络响动&quo ...

  4. 网盘资源搜索器有哪些?

    在开始文章先,我想知道当大家某个难题的时候,最先想到的搜索工具,或是查找的方法是什么?我猜很多人第一的选择就就百度一下,因为我也是这样滴~~可是你每次都能够快速并且精准的得到你想要的资源和资讯吗?貌似 ...

  5. 无限制版电驴搜索器(绿色版)

    无限制版电驴搜索器强大的搜索功能,搜索出来后可用三种下载工具下载,讯雷,快车,和电驴,你懂的,什么资源都能搜索的到,会提示有多少资源线可供下载,有快,超快,慢,资源越多越下的快,无毒,只是一个搜索软件 ...

  6. android文件搜索器

    哈哈哈哈,皇天不负苦心人啊,作为一个安卓初学者,经过三天自学,终于写出文件搜索器来了,下一步,我要写一个在安卓上运行的lucene!package android.search; import jav ...

  7. Trie 树:如何实现搜索引擎的搜索关键词提示功能

    ------ 本文是学习算法的笔记,<数据结构与算法之美>,极客时间的课程 ------ 搜索引擎的搜索关键词提示功能,你应该不陌生吧!当你在搜索引擎的搜索框上,输入要搜索的文字的某一部分 ...

  8. 在哪里能收到python实例代码-python仿evething的文件搜索器实例代码

    今天看到everything搜索速度秒杀windows自带的文件管理器,所以特地模仿everything实现了文件搜索以及打开对应文件的功能,首先来一张搜索对比图. 这是evething搜索效果: 这 ...

  9. 第一款青少年搜索引擎“花漾搜索“APP正式上线

    由新华社中国搜索研发的首款面向青少年的搜索引擎"花漾搜索"APP今日正式上线,花漾搜索APP图标是一只小小猫头鹰. 我国有2亿青少年,花漾搜索是中国第一款专为青少年定制的搜索引擎, ...

最新文章

  1. 图像处理中常用数学知识
  2. 一次性口令设计代码_品牌上新||预算百元,就能买到百搭又有设计感的首饰...
  3. boost::proto::flatten相关的测试程序
  4. 空难生还几率这么低,飞机上为什么不配备降落伞???
  5. linux下执行mysql的sql文件
  6. Python图像处理库PIL的ImageStat模块介绍
  7. metasploit 教程之基本参数和扫描
  8. PermissionError: [Errno 13] in python
  9. [渝粤教育] 中国地质大学 思想道德修养与法律基础 复习题
  10. SpringCloud常见面试题总结二
  11. windows 版本 Appium 环境搭建
  12. 返回值为对象调用拷贝构造函数
  13. InfoPath 2007 添加 access 2007 数据库方法
  14. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(1):二阶与三阶行列式、全排列及其逆序数
  15. qgraphicsitem 复制副本,QGraphicsItem:调用paint函数时
  16. 阿里P8熬了一个月肝出这份32W字Java面试手册,在Github标星31K+
  17. MYSQL练习题:第二高的薪水(查找第N高的数)
  18. 李宏毅language课程Speach Recongition
  19. Netsuite设置中文多语言
  20. 越客汽车美容管理软件 汽车行业专用软件

热门文章

  1. 从网易与淘宝的font-size思考前端设计稿与工作流
  2. 计算机博士与管理科学与工程博士,南昌大学《管理科学与工程》专业博士研究生培养方案...
  3. 2006-10-01 十一皖南单车行
  4. 论文笔记-DeepLung: Deep 3D Dual Path Nets for Automated Pulmonary Nodule Detection and Classification
  5. 资深IT经理人的辞职信 - 怀着梦想去远行!- 让自己慢下来(29)
  6. linux安装搜狗中文,Ubuntu 17.04 安装搜狗中文输入法
  7. UEFI学习2-OVMF的制作和使用
  8. JavaScript实现抽奖(jQuery)
  9. [C/C++]二分查找专题/最后一个小于等于目标值target的数/第一个大于等于目标值target的数
  10. 【历史上的今天】5 月 22 日:Windows 3.0 发布;虚幻引擎诞生;《吃豆人》问世