搜索引擎如何抓取网页(京东的手机筛选条件是什么?爬虫的命名由来)

优采云 发布时间: 2021-12-07 03:35

  搜索引擎如何抓取网页(京东的手机筛选条件是什么?爬虫的命名由来)

  物理学研究表明,在目前宇宙中所有物质的总质量中,星系等可见物质仅占总质量的20%,而无法探测到的暗物质约占总质量的80%。互联网上的暗网可以与宇宙中的暗物质相提并论,其比重大于暗物质在宇宙总质量中的比重,是目前打开网页的百倍。

  所谓暗网,是指目前搜索引擎爬虫以常规方式难以抓取的网页。搜索引擎爬虫依靠页面中的链接关系来寻找新的页面,但是很多网站的内容都存储在一个数据库中。典型的例子是一些垂直领域网站,比如京东的3C家电对于数字数据,很难有明确的链接到数据库中的记录。提供组合查询接口的往往是服务网站。只有用户根据需求选择查询条件后,才能获得相关数据。因此,常规爬虫无法索引这些数据内容,这就是暗网的名称。

  

  京东的手机品类筛选标准

  为了能够对暗网数据进行索引,需要开发一种不同于常规爬虫机制的系统。这种类型的爬虫被称为暗网爬虫。暗网爬虫的目的是从数据库中挖掘出暗网数据并加入到搜索引擎的索引中,以便用户在搜索时可以使用这些数据,以增加信息的覆盖程度。

  目前,大型搜索引擎服务商将暗网挖掘作为一个重要的研究方向,因为它直接关系到索引的大小。这个领域的技术差异会直接体现在搜索结果的综合性上,这自然是竞争者的战场。谷歌目前将其作为重点研究方向,百度的“阿拉丁计划”也正是针对于此。

  竖版网站提供的搜索界面,往往需要手动选择或填写内容。例如,电子商务产品搜索需要根据价格、属性、品牌、型号等分类和过滤条件搜索目标产品。为了能够挖掘数据库的记录,暗网爬虫必须模拟人类行为,填写内容或选择过滤条件。对于暗网爬虫来说,有两个技术挑战:一是查询组合太多。如果将组合一一遍历,会对被访问的网站造成太大的压力,所以如何仔细组合查询选项是一个难点。; 第二点是:有些查询是文本框。例如,在图书搜索中需要输入书名。爬虫如何填入合适的内容?这也是一项非常具有挑战性的任务。

  查询组合问题

  暗网爬虫可以将一个垂直网站数据库的记录尽可能多地下载到索引数据库中,但这是有约束和前提的,即不能造成对网站@的访问量过大> 访问压力,同时尽可能节省爬虫自身的资源。

  垂直搜索网站经常为用户提供多个查询输入框。不同的输入框代表搜索对象某一方面的属性。通过组合这些属性可以缩小搜索范围。对于暗网爬虫来说,一个简单粗暴的方式就是将每个输入框中可能输入的值组合起来形成一个查询。例如,对于优采云 机票查询,将所有出发城市、目的地城市和时间范围的选项一一组合,形成大量查询,提交给垂直搜索引擎和数据库记录从搜索结果中提取。这样比较粗暴,也不是很方便,因为很多组合无效,大量返回结果为空,

  为此,谷歌提出了一种解决方案,称为富信息查询模板技术。为了理解技术原理,您首先需要了解什么是查询模板。让我们通过下图中的求职垂直网站 来说明。

  

  “求职”垂直网站

  为了描述职位,完整的查询收录 3 个不同的属性:位置、行业类别和工作位置。如果在向搜索引擎提交查询时,某些属性被赋值而其他属性没有被赋值,那么这些被赋值的属性共同构成了一个查询模板。

  上图是几个“查询模板”的例子。如果模板收录属性,则称为一维模板。下图中的模板为一维模板。模板2和模板3是两个二维模板。模板4 三维模板。

  

  示例查询模板

  对于固定的垂直搜索,查询模板有多种组合。我们的任务是找到一个信息丰富的查询模板。那么什么是信息丰富的查询模板呢?谷歌的技术方案是这样定义的:对于一个固定的查询模板,如果给查询模板中的每个属性赋值,形成不同的查询组合,提交给垂直搜索引擎,观察返回页面的所有内容,如果内容相差很大,这个模板就是一个丰富的信息查询模板。

  以上图中的模板为例,它收录两个属性:功能类别和行业类别。工作类别有 3 种不同的分配,行业类别有两种不同的分配。两者有6种不同的组合,形成了这个模板的6个查询。将这6个查询提交到职位搜索引擎,观察返回页面内容的变化。如果大部分内容返回相同或相似,则说明该查询模板不是富信息查询模板,否则可以认为是富信息查询模板。.

  之所以做出这样的规定,是基于以下考虑:如果返回结果页面的内容过于重复,很可能是查询模板维数太高,导致很多组合没有搜索结果,或者构造的查询本身是错误的,搜索系统返回错误页面。

  假设所有的查询模板都按照上述方法一一测试,判断是否丰富信息查询模板,由于查询模板过多,系统效率还是很低的。为了进一步减少提交的查询数量,谷歌的技术方案采用了ISIT算法。

  ISIT方法的基本思想是:先从一维模板入手,对一维查询模板一一检查,看是否是信息丰富的查询模板,如果是,则展开维模板到二维,然后再依次检查对应的二维模板,依此类推,逐渐增加维数,直到找不到更多信息丰富的查询模板。这样可以找到大部分信息丰富的查询模板,并尽可能减少提交的查询总数,有效地达到了目的。谷歌的评估结果表明,这种方法和完整的组合比例可以大大提高系统效率。

  填写文本框的问题

  对于输入中的文本框,爬虫需要自动生成查询。下面是一个常见做法的流程图。

  

  自动填充文本框

  在爬虫可以运行之前,因为你对目标网站一无所知,你必须手动提供一些提示。本例中通过手动观察网站进行定位,并提供与网站内容相关的初始*敏*感*词*查询关键词表。对于不同的网站,需要手动提供不同的词汇作为爬虫继续工作的基本条件。爬虫根据初始*敏*感*词*词汇向垂直搜索引擎提交查询,下载回结果页面。之后,从返回的结果页面中自动挖掘出相关的关键词,形成新的查询列表,将新挖掘的查询依次提交给搜索引擎。重复此操作,直到无法下载新内容为止。

  如果你对爬虫感兴趣,还可以阅读:

  全程干货| 爬虫技术原理入门,看这篇文章就知道了

  全程干货 | 解密爬虫爬取更新网页的策略和方法

  网络爬虫 | 你知道分布式爬虫是如何工作的吗?

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线