GooSeeker 使用教程

放大字体  缩小字体 2017-09-08 20:57:58  阅读:8764 来源:本站原创 作者:后弦

关于gooseeker

我们先就截取一些官网的介绍吧,大家先了解一些概念,后面看起来就比较轻松了。集搜客组成结构

gooseeker(集搜客)是由服务器和客户端两部分组成,服务器是用来存储规则和线索(待抓网址),MS谋数台是用来制作网页抓取规则的,DS打数机就是用来采集网页数据的。

集搜客的工作原理用MS谋数台制作好规则后,规则会保存在集搜客的服务器中,同时会把样本网址作为一条线索(待抓网址)也保存在服务器中。PS:规则虽然保存在服务器中,但是随时都可以查看修改。DS打数机采集数据,就是使用做好的规则采集待抓网址的网页数据的过程,详情可参考文章DS打数机如何采集数据。采集成功的话就会在本地文件夹DataScraperWorks中生成结果文件。如果是层级规则,除了生成结果文件,抓到的网址作为下一级规则的待抓网址,会被存在服务器中,采集数据时就会按顺序执行。规则的待抓网址也可以通过DS打数机进行添加,详情参考文章怎样添加新的线索。安装

看完上面那些概念后,我们来进行安装吧。首先gooseeker是作为firefox的插件来运行的,官网上提供了两种安装方式(独立的爬虫因为是beta版,暂时先不算了)——与firefox打包或分开下载。官网下载地址推荐使用打包方式,因为最新版的firefox并不支持单独安装(如果可以的话,欢迎打脸)。安装完成后,我们打开firefox,就能看到插件里多了两个——谋数台和打数台,现在可以开始抓取了。

使用

这里抓取豆瓣读书的内容作为演示,我们将通过制定规则来抓取网站上的图书信息。首先,为了抓取网站上的图书信息,我们需要选择一个入口页面,然后逐层往下,将这些图书信息一网打尽,所以选择了豆瓣读书标签,上面有大量的标签,通过点击这些标签,我们能找到各个标签下的图书列表,通过点击图书的链接,我们就能取到我们需要的数据了。下面,我们开始一步步进行:

抓取某一页面中的特定元素

我们先熟悉一下谋数台的操作吧,先从抓取网页上元素开始第一步,我们要制作采集规则那么打开谋数台,可以看到下图

在1号框那里输入需要抓取的网址(这里我们输入“https://book.douban.com/tag/?view=cloud”),按回车进行加载,再到2号框那里为当前这套规则取一个主题名,最后点击查重按钮确认是否可用。

因为规则是存储在gooseeker的服务器上的,所以需要和所有已有的主题不重名(包括其他用户的规则)

第二步,我们要选择网页中需要的数据点击工作台的“创建规则”这个选项卡,如下图:

首先,我们要新建一个整理箱,这里取名为“category”,然后点击2号框,那么谋数台的上方就会显示出这部分内容在html中的dom结构,我们可以通过选取需要的内容,把它添加到整理箱中,具体操作方法是:右键——内容映射——新建抓取内容,取个字段名字即可,如下图,我们分别将url和name映射到整理箱中:

上图中,除了映射做了标记外,可以看到我还画了两个圈,分别圈出了关键内容和下级线索。关键内容是为了给爬虫执行采集提供判断标志,对于页面一定会出现的内容应该勾选。关于下级线索后一章会说明,这里就先卖个关子吧~

第三步,使用样例复制在第二步中,我们只是选取了第一个标签中我们需要的数据,在整个页面中,还存在许多其他的标签,这时候,我们就需要使用样例复制功能了,具体流程如下图:

首先,点击“category”这个整理箱,在样例复制管理中,勾选“启用”接着,点击刚才的第一个节点"BL",取它的网页标签(取它和其他节点并列的那层的标签);然后,右键标签——样例复制映射——第一个,这样橙色标注那里的样例1就显示出位置了;最后,对第二个节点进行相同的操作,将它映射到第二个样例。

验证规则正确性

做好第三步之后,我们点击“验证”按钮,就可以知道规则是否正确了。如果正确的话,就会显示出粉色箭头所指的xml内容,可以对比一下网页中的标签,应该是都爬取下来了。最后,一定要记得保存!!!点击绿色框框那里即可~

使用打数机

我们刚刚制定了一套简单的规则,可以使用打数机来爬取相应的url上的数据。有两种方式进入打数机:

其一,通过谋数台中保存按钮右边的爬数据其二,通过firefox界面上的图标

打开打数机就能看到已经制定好的规则了,如果没有的话,在搜索栏输入*进行搜索,就可以全部显示出来了!我们在规则上右键,可以看到图中的菜单:抓取网页:就字面意思,对存在规则里的线索(即url)进行抓取浏览主题:点了没什么效果,不太清楚统计线索:显示出不同状态线索的数量,这些状态包括(待抓取、抓取中、规则不适用、超时、抓取出错、抓取完成)管理线索:添加线索、激活失败线索、激活所有线索、撤销所有线索爬虫群:这个可以自行研究,这里就不介绍了我们刚刚采集了所有标签的名字和链接,但我们实际需要的数据并不是这些,那么我们就需要进入它的下一层了。以“东野圭吾”这个标签作为例子~首先,我们打开这个页面:

我们和上一章一样,新建一个主题名,然后配置好规则,从这页面中,我们可以看出,和上个页面差不多,我们需要的是每本书的书名以及链接,通过上一章的那些步骤就可以完成了。然后,既然这个页面的url理应由上一层爬取到,那么我们该怎么做,才能让这两层连起来呢?上一章中,我们在url那里勾选了下级线索,勾选的话,采集的数据就会作为下一层的线索(url)来进行抓取,很多网站上的url都是相对路径,但是不要紧,gooseeker会帮我们自动补全的,所以我们的操作还是相当简单的吧。我们先把刚做好的规则保存好,接着打开上一章保存的规则,关于怎么打开?

进行这一步之前,确保已经保存好当前规则了!那么我们点击工作台的“搜规则”选项卡,填入来搜索出所有我们已有的规则,找到上一章制定好的规则,右键——加载,然后点击谋数台上方的文件——后续分析

然后,我们就可以修改这个规则了!

我们点开“爬虫路线”这个选项卡,因为之前勾选了下级线索的缘故,操作区的下来框里已经有了线索1,我们需要将第二层规则的主题名,填入目标主题名*中,然后保存,这样,两套规则就连起来了。

抓取层级网页的时候,需要先抓取上一层,然后取得的下层url就会自动添加到第二层的待抓取线索中。关于换页我们继续回到第二套规则,我们爬取的这个标签东野圭吾,它的内容分成了好多页,如下图:我们需要在规则中添加换页操作,否则每个标签,我们只能爬取第一页的数据。

图中的粉色箭头指明了我们需要操作的内容及顺序,左边那个蓝色框框需要注意,不要选错,否则不会出现右边框框中的文本!点击新建,这样就会产生线索2勾选连续抓取选择记号线索点击网页中的“下一页”标签,在dom结构中找到它的text属性,右键——线索映射——记号映射完成上述步骤后,记号值以及记号定位编号就有相应的值了做完这些步骤,我们还没有把翻页定义好了,还缺少一个重要环节!在做完记号映射之后,要进行线索定位映射,就是选择包含记号标志的范围进行映射。

首先,我们选中整个翻页模块(一般性,靠左边点几下就能选中了),然后上方的dom结构就跳到div这个节点了,我们直接在它上面右键——线索映射——定位——线索2,最后保存一下即可~我们可以抓取网页中图书的书名、出版信息、豆瓣打分、内容简介以及图书封面,操作和前面的差不多,就不说了,但是最后一项图片怎么抓取呢?我们来了解一下吧

下载图片和普通的文本数据有两个地方不同:其一,我们要在那里勾选其二,我们需要将图片的src属性映射到字段中

官网有很多教程,本文只描述了一些常用功能,如果有进一步需求的话可以

[1]集搜客的工作原理[2]什么都不懂的小白,请看这里![3]如何深入多层级网页采集数据——以采集京东商品信息为例[4]如何翻页抓取网页数据——以采集天猫搜索列表为例[5]怎样抓取网页的同时下载图片

“如果发现本网站发布的资讯影响到您的版权,可以联系本站!同时欢迎来本站投稿!