错误博客( cuowu.com )发布于 2019-06-10 18:28:41

信息检索深层网络

信息检索深层网络教程。

并不是互联网中的所有站点都易于进行爬取和导航的。那些网络爬虫很难找到的站点统称为深层网络(deep Web,也称为隐藏网络,hidden Web)。尽管深层网络的规模很难精确地评估,但一些研究估计它的规模超过传统索引的网络规模一百倍。

属于深层网络的大多数站点都可以归为如下三类:

  • 私人站点(private site)。这些站点是倾向于隐私内容的,没有任何指向它的链接,或者在使用该站点之前,需要使用有效的账号进行注册。虽然一些新闻出版商仍然希望他们的内容被主要的搜索引擎索引,但是这类站点通常要求阻止爬虫对页面进行存取。
  • 表单结果(form result)。这些站点通常在向表单中填写数据之后才能进入。例如,销售机票的站点,通常在页面的入口处会询问旅行的信息。在你递交了本次旅行的信息之后,航班信息才会显示出来。尽管你可能会希望使用搜索引擎找到航班时刻表,但大多数的爬虫都不可能越过这个表单获取航班时刻表的信息。
  • 脚本页面(scripted page)。是使用JavaScript、Flash或其他客户端语言的页面。如果一个链接并不是以HTML语言给出的,而是通过在浏览器中运行JavaScript生成的,爬虫需要在该页面上执行JavaScript才能找到这个链接。虽然在技术上这是可行的,但执行JavaScript会很大程度地影响爬虫抓取页面的速度,并增加系统的复杂性。

有时候人们会对静态页面(static page)和动态页面(dynamic page)进行区分。静态页面是指存储在网络服务器上并在浏览器上不需要修改即可显示的文件,而动态页面可能会是在网络服务器或客户端上执行代码的结果。通常认为静态网页易于采集,而动态网页不易于抓取。然而,事实上并不是这样。一些动态生成页面的站点也易于采集,维基百科就是很好的例子。其他拥有静态页面的站点也不易于采集,因为它们需要通过填写表单才能对页面进行采集。

与私人站点不同的是,使用表单结果和脚本页面站点的管理员通常希望他们的站点被搜索引擎索引。在这两个类别中,脚本页面很容易处理。站点管理员通常只需要对页面进行轻微的改动,超链接就可以在服务器端通过代码生成,而不需要在浏览器中利用代码生成。虽然可能会花费一些时间,但爬虫也可以运行JavaScript及Flash。

最难的问题是那些使用表单结果的站点。通常,这些站点是那些变化的数据的仓库,通过表单将一个用户查询发送给数据库系统。如果数据库中包含几百万条记录,该站点会向搜索引擎的爬虫提供几百万的超链接。将上百万的链接添加到站点的首页中显然是不可行的。另外一个选择就是让爬虫来猜测需要在表单中输入什么样的数据,但很难选择好的表单输入。即便是猜测得比较准确,这种方法也不可能得到所有的隐藏数据。


2020年错误博客亲测项目系列

错误教程( cuowu.com )专注网推培训、SEO培训和网赚培训,微信/电话:13722793092

关注微信公众号:第一时间获得错误博客最新教程,让我们一起成长!

公众号二维码