怎样在抽取网页数据时阻止图片和插件下载

网页数据抽取工具MetaSeeker时,怎样阻止从目标网页上下载图片和插件?对于其它网络爬虫来说,也许不存在这个问题。但是DataScraper是一个特别的网络爬虫,为了全面支持AJAX网页数据抽取,将Mozilla(火狐浏览器)的全部特性集成到DataScraper中,加载一个目标网页时,除了加载基本的HTML文档以外,HTML中的相关资源,例如,图片、插件、Javascript代码等等都全部加载,因此DataScraper提供一个高效的AJAX数据抽取解决方案。但是,付出的代价就是带宽占用太多,普通的网页数据抽取任务基本上没有下载图片和插件的需求,而这些资源的尺寸往往远远超过基本HTML文档。因此,阻止下载图片、插件和Javascript可以收到立竿见影的效果。本文讲解怎样阻止下载图片和插件,下一篇讲解怎样阻止Javascript,阻止Javascript后,不但可以节省带宽资源,还能够节省CPU资源。

       注意:本文所述功能只有企业版具有,而且从V4.11.2开始支持。

DataScraper有两种抽取网页数据的模式:

阻止图片和插件下载的配置方法不同。

手工批量抽取网页数据

在DataScraper“配置”菜单中,增加了一个菜单项“配置浏览器”,这是一个弹出菜单,具有菜单项:

  • 允许插件
  • 允许图片
  • 允许Javascript:下一篇讲解

都是选项菜单,缺省情况下是被勾选的,如果修改了选择状态,将记录在配置文件中,今后重新运行DataScraper时将使用最新设定。



周期性自动批量抽取网页数据

在周期性抽取运行模式下,DataScraper的很多行为特征受周期性抽取指令文件(crontab.xml)控制,阻止图片和插件下载也不例外,而且需要为每个主题分别设定,如果不设定,则采用缺省值:既允许下载图片也允许下载插件。需要在类别是crawl的step中设置如下两个参数:

  • allowPlugin
  • allowImage

他们是布尔值,true或者false。



总结

如果目标网页上有很多图片,例如,从电子商城或网购网站上抽取商品价格,这些网站上的图片将大大影响抽取速度,禁止图片和插件下载将收到特别明显的效果。

缺省情况下上述选项开关都是勾选的,请用户使用时注意分别设定,尤其使用自动地周期性批量抽取模式时,在DataScraper上设置是起不到作用的,需要正确修改crontab.xml文件。