连续动作实战:连续移动鼠标采集微博浮窗个人信息

2015-10-19 15:27| 发布者: ym| 查看: 10205| 评论: 2

摘要: 阅读指引 本文详细记录规则定义过程,为了达到抓取目的,需要做如下步骤 在新浪微博上搜索关键词“电商”,专门执行“找人”搜索 定义抓取规则:微博兴趣搜索_测试悬浮信息,把搜到结果抓下来 在结果列表上连续 ...

阅读指引

请注意:V5.7.x系列版本引入了一个bug,下述第5部点击“下一页”的操作执行不了。请升级到V6.0.0(2016-5-23发布)

本文详细记录规则定义过程,为了达到抓取目的,需要做如下步骤

  1. 在新浪微博上搜索关键词“电商”,专门执行“找人”搜索
  2. 定义抓取规则:微博兴趣搜索_测试悬浮信息,把搜到结果抓下来
  3. 在结果列表上连续移动鼠标,逐个悬停在每个博主头像上
  4. 待弹出显示个人信息的窗口后,采用抓取规则:微博兴趣搜索_测试悬浮信息_悬浮动作,把个人信息抓下来
  5. 抓完整页的个人信息后,点击“下一页”,再次循环上述过程抓取所有人的个人信息

上述过程用集搜客GooSeeker网络爬虫V5.3.0版本予以实现,其中第2和第4步需要定义抓取规则,下面将展示详细的规则定义过程,关于原理和名词解释参看


定义第一个抓取规则——悬浮动作执行前的内容抓取

因为已经有很多文档讲解抓取规则的定义,我们不再赘述通常的定义过程,如需从头学起,请参看《GooSeeker初级教程》。下面主要讲解不同之处

完成了通常的抓取规则定义(也包括翻页规则定义)以后,需要再做上图所示定义过程。熟悉老版本集搜客的用户就会知道这个“连续动作”工作台是新加的。按照顺序通常作如下几步。

第一步:命名动作后的抓取主题

在工作台最上边,“目标主题名”一栏输入主题名,代表做了动作以后所有的抓取规则,本例的目标主题名是微博兴趣搜索_测试悬浮信息_悬浮动作

请注意:即便定义多层动作,也只有一个主题名

第二步:创建动作步骤

请注意:点击一次“新建”按钮,就创建一层动作,本例只需点击一次,生成一个动作步骤即可。

第三步:选择动作类型

V5.3.0版本只有两种动作类型,其它动作类型在后续版本发布,具体参看《网络爬虫连续动作的相关概念》,本例选择“悬浮”

第四步:输入动作对象的定位表达式

在“定位表达式”一栏输入XPath表达式(本版本是手工编写,后续版本将提供自动生成功能)。这个XPath表达式用来定位连续动作要施加的对象。比如,本案例,就是鼠标要停留的位置,也就是一个个微博头像。那么这个XPath表达式应该是定位到一组对象,而不是一个。

第五步(可选):验证定位表达式

如果担心定位表达式不正确,可以验证一下,在左栏网页结构区下面有个输入框,输入以后点击“搜索”按钮,可以看到弹出一个窗体,显示匹配到多少个动作对象,点击“前一个”和“后一个”会演示是否定位正确。


定义第二个抓取规则——悬浮动作执行后抓取浮窗内容

请注意,第二个和第一个规则所用的样本页面是一样的,就不用另外加载网页了,需要做如下清理准备工作

清理工作台为第二个规则做准备

执行下面的步骤清理工作台:

  1. 选择菜单“文件”-〉“新建”,可以看到右边的工作台被清空了
  2. 在命名主题工作台上录入主题名:微博兴趣搜索_测试悬浮信息_悬浮动作
  3. 请注意:执行了新建工作台后,命名主题工作台上的页面地址也被清空了,应该手工把样本页面的url地址拷贝过来

冻结悬浮窗口

鼠标移动到目标对象上,悬浮窗口才出现,一旦移走就会消失,那么怎样用鼠标去选择菜单“冻结页面”呢?显然这是做不到的,所以,必须使用快捷键方式,有两种方式

  1. 组合按下 alt + F 两个键将直接打开“文件”菜单
  2. 单独按下 alt 键,“文件”菜单就会被选中,再按向下箭头键,就能打开菜单

用向下箭头键选中“冻结页面”,此时就能把悬浮窗口冻结住。当然,在这个过程中不能移动鼠标,否则窗口就消失了

记得要紧接着做一次“刷新网页结构”,否则点击悬浮窗口中的内容时会出现如下窗。因为悬浮窗口是后来才出现的,以前生成的网页结构中还没有它,所以,要执行一次“刷新网页结构”。

创建整理箱

接下来就是创建整理箱,为第二个抓取规则的抓取内容做映射关系,这与通常的定义过程一样,不再赘述,看下图结果:

采集数据

要先运行第一个抓取规则,而第二个是自动进入的。运行效果图如下:

仔细观察的话,就能看到浮动窗口一个个弹出。因为有两个主题,则抓取结果放在两个文件夹中。比如,第二个抓取规则的结果导入到excel中的结果如下图:

9

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (9 人)

相关阅读

发表评论

最新评论

评论 Fuller 2016-3-12 10:09
shuijiao1: 哎 还是视频能让人接受  这个被搞醉了
先把基础的抓取搞熟,再学习做动作。做动作和抓数据是完全两回事,总过程是 抓数据-〉做一组动作-〉再抓数据 ->再做一组动作-〉再抓数据
评论 shuijiao1 2016-3-12 01:29
哎 还是视频能让人接受  这个被搞醉了

查看全部评论(2)

GMT+8, 2024-10-6 02:26