连续动作:如何把抓到的信息与动作步骤对应起来—以58同城为例 ...

2017-8-9 16:18| 发布者: ym| 查看: 19838| 评论: 2

摘要: 一、操作步骤 想要把抓到的信息与动作步骤一一对应起来,就得把动作对象的信息也提取下来。本教程适用于悬浮、点击、双击、提交等四种动作,讲解如何把其动作对象的节点值给抓取下来;滚屏、打码、回退和滚轮则是没 ...

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

一、操作步骤

想要把抓到的信息与动作步骤一一对应起来,就得把动作对象的信息也提取下来。本教程适用于悬浮、点击、双击、提交等四种动作,讲解如何把其动作对象的节点值给抓取下来;滚屏、打码、回退和滚轮则是没有准确的值,而输入动作和选择动作的值是爬虫默认抓取的,并且会自动记录在xml文件的actionvalue字段中,所以这六个动作的值就不用特意去抓了。

下面以58同城的北京小区的网页为例,讲解自动点击区域里的两级目录,这样就形成了分类采集,如果想要把采到的信息与目录一一对应起来,可以通过连续动作的高级设置或者在整理箱里自定义xpath来实现。

注意:如果每个分类目录都有独立网址的情况,用层级采集是最简单的采集方法,没有独立网址的情况,只能用连续动作来实现了。


二、案例规则+操作步骤

第一级规则:五八同城-点击目录

第一级样本网址:http://bj.58.com/xiaoqu/1142/?PGTID=0d011138-0000-165d-a070-e39726df9547&ClickID=1

第一级采集内容:随意抓一个标志信息

第二级规则:五八同城-分类采集

第二级样本网址:http://bj.58.com/xiaoqu/1142/?PGTID=0d011138-0000-165d-a070-e39726df9547&ClickID=1

第二级采集内容:小区、价格、位置、链接


第一步:打开网页

1.1,打开GS爬虫浏览器,输入网址并Enter,加载出网页后再点击“定义规则”按钮,看到一个浮窗显示出来,称为工作台,在上面输入第一级主题名,点击“查重”通过后就可以标注想采集的网页信息;

注意:这里的截图和文字说明都是GS爬虫浏览器版 ,如果您安装的是火狐插件版,那么就没有“定义规则”按钮,而是应该运行MS谋数台。


第二步:定义第一级规则

2.1,标注想采的信息

本级规则主要是设置连续动作,所以,整理箱里可以随意抓取一个标志信息,用来给爬虫判断是否执行采集。双击网页上的信息,输入标签名,并打勾确认,然后勾上关键内容。首次标注还要输入整理箱的名字。


2.2,设置连续动作

2.2.1,点击连续动作窗口,在“目标主题名”输入第二级主题名,点击“谁在用”看看是否重复。本案例要点击两级目录,所以下面要设置两个点击动作,第一个点击动作用于大区域的点击,第二个点击动作用来点击子区域。


2.2.2,先建立第一个“点击”动作。由于 “显示xpath”功能自动生成的xpath只能定位到一个区域节点,本案例是要点击一级目录上的每一个区域,所以自动生成的xpath就不适用了,需要自己编写出能定位到每一个点击对象的xpath表达式。把自己写的xpath输入到xpath搜索框,再点击“搜索”,检查定位到的节点数量是否准确,然后填到“定位表达式”方框 里,最后,填写“动作名称”,便于识别和修改。


2.2.3,参照步骤2.2.2的操作,继续建立第二个“点击”动作,写出能够定位到第二级目录每一个子区域的xpath,然后填到“定位表达式”方框里,最后填上“动作名称”。

2.3,保存规则

完成上面的操作后,就可以点击“保存规则”了。


第三步:定义第二级规则

3.1,新建第二级规则

3.1.1,首先要点击“规则”菜单->新建,清空整个工作台。

3.1.2,然后点击“定义规则”恢复到普通浏览模式,此时点击网页上的目录,进入分类目录下的页面,拿它做为样本网页。

3.1.3,再次点击“定义规则”,开始做新规则。

3.1.4,这里第二级规则的主题名是输入前面连续动作里指定的目标主题名。


3.2,标注想采的信息

3.2.1,双击想要采集的网页信息,在弹窗里输入标签名,然后打勾确认,就可以完成标注映射了。


3.2.2,做样例复制映射,把一整页上每一条小区信息都采集下来,这里就不细讲操作了,不懂的请看入门教程《采集列表数据》。


3.2.3,做翻页设置,去爬虫路线窗口新建“记号线索”,用于自动翻页采集,不懂的请看入门教程《设置翻页采集》。

3.3,保存规则。


第四步:抓数据

4.1、设置过连续动作的规则,只要运行第一级主题,第二级主题是由第一级自动运行的。所以,在DS打数机里搜索出第一级主题,点击“单搜”/“集搜”按钮,就会看到浏览器会按顺序点击网页上的两级目录,然后翻页采集数据。


4.2、第一级主题是没有抓有效信息的,所以,我们只看第二级主题的数据表,这次采集是没有把目录和采集到的小区信息一一对应起来的,因为前面没有做相关的设置,下面第五步会讲到如何抓目录信息以及对应关系。


第五步:把连续动作与采到的信息对应起来

5.1、通过连续动作的高级设置的内容表达式,把动作对象的值提取到actionvalue中

最开始说过,选择动作和输入动作的值是默认记录在xml文件的actionvalue字段中,所以,也可以用actionvalue来记录悬浮、点击、双击、提交这四种动作的值。这里是对第一级主题里的连续动作设置,操作如下:

5.1.1、打开高级设置,在“内容表达式”里填上xpath,然后点击“保存”。这个xpath是相对“定位表达式”方框里的xpath来写的,因为连续动作的“定位表达式”已经定位到了动作对象的节点,也包括本身节点的值,所以,内容表达式只要以定位表达式为起点路径,在它的基础上继续定位到动作对象的值就行,通常是text()或者是属性节点。


5.1.2、对第二个“点击”动作也做高级设置后,然后点击“存规则”


5.1.3、再次采集一遍,就会看到第二级主题的数据表中,actionvalue字段已经记录上点击对象的值,用-+-隔开了各个连续动作的值,与之对应的是actionno,记录的是该步动作执行的次数。


5.2、在整理箱中抓取动作对象的信息,通过自定义xpath来实现。

网页上被点击过的按钮,它的颜色明显是不一样的。根据这点差异,可以在最后一级主题的整理箱里建立对应的抓取内容,用自定义xpath的方法就可以把点击对象的值抓下来。这里是对第二级主题进行设置,操作方法如下:

5.2.1、在整理箱里建立新的标签,用来抓点击对象的信息

5.2.2、定位点击对象,然后右击节点,做内容映射给“大区域”标签

5.2.3、再用“显示xpath”功能,找到能唯一定位到点击对象的xpath,如果不合适,就自己写出xpath。

5.2.4、双击“大区域”标签,弹出高级设置窗口,选择文本内容和专用定位

5.2.5、在抓取内容表达式上填xpath,在定位标志表达式上填点 . 就行


5.2.6、以同样的方法,对“子区域”标签进行设置

5.2.7、点击整理箱的测试按钮,看看是否能抓到对应的点击信息,然后保存规则。


5.2.8、再次采集一遍,打开第二级主题的数据表,就可以看到对应的目录信息。


若有疑问可以或集搜客爬虫软件
6

鲜花

握手

雷人

路过
1

鸡蛋

刚表态过的朋友 (7 人)

相关阅读

发表评论

最新评论

评论 Fuller 2018-8-22 16:31
npcayu: 内容表达式是相对路径,那如果有三个TEXT相加出结果,我应该如何写这个内容表达式呢
这样的运算都放在结果文件中做。导出的结果是excel格式的,在excel中做运算特别方便。规则里面就不要做复杂的处理。而且xpath本身也不支持数字相加
评论 npcayu 2018-8-22 15:35
内容表达式是相对路径,那如果有三个TEXT相加出结果,我应该如何写这个内容表达式呢

查看全部评论(2)

GMT+8, 2024-12-21 20:31