阅读627 返回首页    go gooseeker集搜客


把信息与连续动作步骤对应起来—以58同城分类采集为例

一、操作步骤

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

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

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


二、案例规则+操作步骤

  • 第一级规则:五八同城-点击目录
  • 第一级样本网址:https://bj.58.com/xiaoqu/1142/?PGTID=0d011138-0000-165d-a070-e39726df9547&ClickID=1
  • 第一级采集内容:随意抓一个标志信息
  • 第二级规则:五八同城-分类采集
  • 第二级样本网址:https://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,第一级主题没有抓取有效信息,所以,我们只看第二级主题的数据表,如上图所示,这次采集是没有把目录和采集到的小区信息一一对应起来的,因为前面没有做相关的设置,下面第五步会讲到如何抓目录信息以及对应关系。请参考教程《xml转excel》来转换格式。


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

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

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

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


5.1.2,参照步骤5.1.1的操作,对第二个“点击”动作也做高级设置。

5.1.3,最后保存规则。


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


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

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

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

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

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

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

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


5.2.6,参照前面的步骤操作,以同样的方法对“子区域”标签设置自定义xpath。

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


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


上篇文章:《连续动作:滚屏采集瀑布流网页》                      下篇文章:《如何找到合适的连续动作组合》


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

最后更新:2017-01-09 14:08:12

  上一篇:go 【第36期】连续动作快速入门
  下一篇:go 集搜客网络爬虫安装说明