用网络爬虫软件手动下载网页上的文件

优采云 发布时间: 2020-08-18 13:32

  用网络爬虫软件手动下载网页上的文件

  注:集搜客GooSeeker爬虫从V9.0.2版本开始,爬虫术语“主题”统一改为“任务”,在爬虫浏览器里先命名任务再创建规则,然后登陆集搜客官网会员中心的“任务管理”里,就可以查看任务的采集执行情况、管理线索网址以及做调度设置了。

  举个事例,我们准备把这个法规/标准网站上的pdf格式的法规文件下载出来:

  页面截图如下图:

  

  如果人工下载那些文件的话,需要在这个网页上挨个点击这些文件图标,即可迸发下载过程。

  集搜客网络爬虫软件V9.0.0版本之前,就是这样模拟点击的(参看教程: )。但是从V9.0.0版本开始,下载功能做了调整,因为定义模拟点击过程的规则太麻烦,而且不太好理解为何这么定义。到了V9.0.0版本,不再定义模拟点击,而是把文件图标对应的url网址作为抓取内容抓取出来,同时设置一个选项“下载文件”,那么爬虫采集到url信息后就启动下载过程。定义规则的方式简单了好多。

  另外,V9.0.0开始还有一个区别:以前版本迸发下载之后,存储位置是在操作系统的“下载”文件夹,而V9.0.0的下载位置是可控的,或者放到各个抓取规则的各自的文件夹中,或者放到结果文件DataScraperWorks文件夹中。

  注意:这个方式才能生效的前提是下载文件链接对应一个实实在在的网址,如果是类似javascript:void(0)这样的代码,不能用这个方式,应该定义连续动作的方式,用动作迸发下载操作。

  下面将详尽讲解定义规则和抓取过程。

  1. 定义抓取规则

  定义抓取规则的方式参看基础教程中的相应章节,比如,最基础的教程是这个: 。该教程讲解了用内容标明的方式在网页上标明要采集的内容。请注意,这种标明是一种快捷的规则定义方式,但是并没有精确地定位HTML DOM节点,比如,在中文附件那种图标上做内容标明,会手动定位到DOM的IMG节点。为了下载pdf文件,定位到这个IMG节点是不精确的,这种内容标明主要用于采集文本内容。

  为了精确地把pdf文件的url网址抓取出来,应该精确地做内容映射,如下图:

  

  步骤如下:

  在文件图标上通过双击做内容标明,并且命名抓取内容为“英文附件链接”观察窗口上部的DOM树,看到手动定位到了IMG,而我们须要这个图标对应的url,用以下载文件。通过观察DOM树,可以确定url存于IMG的父节点A中的属性节点@href中。选中@href节点,用键盘右键菜单 内容映射->英文附件链接,就可把@href映射给英语附件链接这个抓取内容。做了映射之后,就能见到工作台上的这个抓取内容的定位编号变化了。

  上述过程就是普通的定义抓取规则过程,下面将是跟下载文件有关的设置过程。

  2. 设置下载

  如下图,选择“下载内容”,就能弹出设置窗口,勾选“下载文件”就表示从抓取到的url网址下载文件。下面的截图中还勾选了中级设置的“补全内容”选项,这个跟下载内容无关,目的是在生成的结果文件中显示网址的网址,因为从上一个截图看,@href上面存的是相对网址,不是从http开头的。

  

  这些设置完成之后,点击存规则,然后再点击爬数据,就能弹出一个DS打数机窗口,可以观察到网页被加载上来,采集完成后弄成了死机。

  3. 查看下载的文件

  如下图,本案例用的主题名是test_download_file_fuller,结果文件都置于DataScraperWorks文件夹中,test_download_file_fuller是一个子文件夹,用于储存XML格式的结果文件,还可以见到一个并列的子文件夹PageFileDir,用于储存所有的下载文件

  

  在PageFileDir中,所有的下载文件都置于一起,不分主题名,而是分在PageFileDir中的子文件夹中,子文件夹的名子具有这样的结构

  线索号_时间戳

  我们再打开XML格式的结果文件看一下内容结构,如下图:

  

  “英文附件链接”是用户定义的抓取内容,而“英文附件链接_file”是手动生成的抓取内容,文件在硬碟上储存在那里,就用这个数组进行说明。

  下载文件不分主题储存有个益处:如果要写一个文件处理程序,那么这个处理成就不需要挨个步入每位主题名文件夹去查看有没有新下载的文件。

  相反,如果下载的文件按主题名分开储存的,处理程序要挨个检测主题名文件夹,但是有个益处:文件系统看起来比较有结构。

  下面讲解如何设置成按主题名分开储存。

  4. 分主题储存

  

  如图所示,在DS打数机上选择菜单 文件->存储路径,在弹出框中选择“分主题储存”,改成份主题储存之后,再执行爬数据,就能见到PageFileDir文件夹置于了主题名文件夹下边

  

  5. 总结

  从V9.0.0开始,不光文件下载,还有图片和视频下载的过程都是一致的,结果储存结构也是一致的,本教程的方式可以推及到图片和视频的下载

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线