本帖最后由 ym 于 2016-12-23 14:09 编辑

常见问题 > 制作规则—常见问题导航 > 翻页 > 用连续动作实现翻页点击

如果要采集的页面有很多页,并且经常翻页到中间就断掉了,可以修改一下规则,设置连续动作实现翻页点击/跳转。下面举例介绍几种常见设置方法
  • 通过页码输入框跳到中断的那页继续往下翻页采集
  • 如果爬虫路线的翻页设置都执行失败的话,可以设置连续动作,实现翻页点击
  • 用连续动作点击悬浮页码窗口来实现跳转翻页

举报 使用道具
| 回复

共 13 个关于本帖的回复 最后回复于 2019-12-17 13:33

沙发
ym 版主 发表于 2016-12-22 18:24:47 | 只看该作者
本帖最后由 ym 于 2016-12-23 10:16 编辑

一、通过页码输入框跳到中断的那页继续往下翻页采集
如果每一页的网址都是一样的,无法通过构造页码网址来单独采集每一页,并且很容易翻页到中间就断掉,这种情况就要看看是否存在页码输入框,如果有的话,就可以在规则里设置连续动作(输入+点击),让爬虫跳转到断掉的那一页,继续往下翻页采集,连续动作的设置如下:

1.1、在原来规则的基础上,再设置连续动作就可以了,首先是把规则加载出来
1.2、点击“页码输入框”定位,再点击左侧的“显示xpath”按钮,选择一种模式(常用class/id定位)后就会自动生成xpath,点击一下右侧的“搜索”按钮,检验一下是否只定位到一个节点。
1.3、在连续动作窗口里,输入当前的主题名,建立“输入”动作,在“输入关键词”方框里填上要跳转的页码数值,再拷贝上一步里得到的xpath,粘贴到“定位表达式”方框里,最后给动作名称起个名字,就完成了“输入”动作的设置。


1.4、与上面操作一样,先定位并生成“跳转”按钮的xpath,再建立第二个动作“点击”,把xpath填上就可以了。
1.5、保存规则,然后试抓一遍,检验一下是否执行成功,如果DS打数机的日志提示“定位不到节点***”,就说明xpath不合适,就要修改连续动作里的xpath了。

举报 使用道具
板凳
ym 版主 发表于 2016-12-23 11:00:20 | 只看该作者
本帖最后由 ym 于 2016-12-23 14:30 编辑

二、如果爬虫路线的翻页设置都执行失败的话,可以设置连续动作,实现翻页点击
如果在爬虫路线里试过了记号线索、相对线索、定点线索,但是都翻页失败了,可以删掉爬虫路线的翻页设置,改成用连续动作来实现翻页点击。设置方法如下:
2.1、在原来规则的基础上,在连续动作里输入当前的主题名,然后建立“点击”动作
2.2、点击“第1页”按钮进行定位,用“显示xpath”功能生成它的xpath,但是这个xpath只能定位到一个页码节点,而我们要的是能定位到每一个页码按钮的xpath,所以,要人工修改xpath,通常是修改成position>** ,但是请大家掌握xpath语法后,根据实际网页结构来写。


2.3、把修改后的xpath粘贴到xpath显示框里,然后点击“搜索”按钮,检验定位到的节点数,最后把xpath填到“定位表达式”方框里。
2.4、保存规则,然后试抓数据,看看是否执行成功。如果出现“定位不到节点**”,就是xpath的问题了,要修改连续动作的xpath。

举报 使用道具
地板
ym 版主 发表于 2016-12-23 12:08:05 | 只看该作者
本帖最后由 ym 于 2016-12-23 14:29 编辑

三、用连续动作点击悬浮页码窗口来实现跳转翻页
如果翻页区是要把鼠标移动到那里,然后弹出页码选择窗口的话,就要用悬浮动作+点击动作来实现跳转翻页。操作如下:

3.1、在原来规则的基础上,删掉爬虫路线的翻页设置,然后在连续动作里输入当前主题名,建立“悬浮”动作
3.2、点击翻页区进行定位,用“显示xpath”功能生成xpath,再点击“搜索”按钮检验一下是否定位到唯一的节点
3.3、在“定位表达式”方框里填上xpath,就完成了悬浮动作的设置


3.4、建立“点击”动作,用来点击浮窗中的页码
3.5、弹出浮窗后,按快捷键Ctrl+H冻结浮窗,然后点击浮窗中的页码来定位,用“显示xpath”功能生成它的xpath,此时只能定位到一个页码节点,但我们是要定位到每一个页码节点,所以,掌握xpath语法再来手工编写xpath,把自己写的xpath输入到xpath搜索框里,检查一下是否定位到所有页码节点。
3.6、把xpath填到“定位表达式”方框里,完成“点击”动作的设置
3.7、保存规则,然后试抓数据,看看是否执行成功。如果出现“定位不到节点**”,就是xpath的问题了,要修改连续动作的xpath。
举报 使用道具
5#
caolijuan006 初级会员 发表于 2017-6-23 10:32:47 | 只看该作者
举报 使用道具
6#
yuanfan0814 新手上路 发表于 2017-7-13 10:58:58 | 只看该作者
ym 发表于 2016-12-22 18:24
一、通过页码输入框跳到中断的那页继续往下翻页采集
如果每一页的网址都是一样的,无法通过构造页码网址来 ...

这种情况在翻页中断之前是怎么去翻页的啊?
举报 使用道具
7#
niniliya 初级会员 发表于 2018-8-26 15:08:28 | 只看该作者
ym 发表于 2016-12-22 18:24
一、通过页码输入框跳到中断的那页继续往下翻页采集
如果每一页的网址都是一样的,无法通过构造页码网址来 ...

没有页码框怎么操作
举报 使用道具
8#
Fuller 管理员 发表于 2018-8-26 15:48:23 | 只看该作者
niniliya 发表于 2018-8-26 15:08
没有页码框怎么操作

既没有页码输入框,每个分页有没有独立网站,那么中断以后只能从头开始翻页了
举报 使用道具
9#
15189823636 新手上路 发表于 2018-11-19 20:40:19 | 只看该作者
第二条如果设置position>n,是不是就可以从第n页开始采集了
举报 使用道具
10#
maomao 论坛元老 发表于 2018-11-19 21:08:01 | 只看该作者
15189823636 发表于 2018-11-19 20:40
第二条如果设置position>n,是不是就可以从第n页开始采集了

翻页不要用这个连续动作,很不好控制的,用翻页采集:https://www.gooseeker.com/doc/article-334-1.html
翻页采集有两种:
1,根据翻页记号,比如“下一页”这样的记号
2,相对翻页:比如,只有 1,2,3,4这样的页码
这两种情况几乎覆盖了所有翻页情况。

用连续动作的话,你要写xpath,这个xpath刚好定位到“下一页”那个按钮上。在高级选项那里设置点击次数为-1,就是无数次,但是为了让爬虫停下来,就要设置重复内容中断,是在DS打数机菜单 高级-》终点标志-》重复内容 上设置
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • Gephi社会网络分析-马蜂窝游记文本分词并同
  • Gephi社会网络分析-基于马蜂窝游记文本以词
  • 知乎话题文本根据词语间距筛选后生成共词矩
  • 马蜂窝游记文本分词后以词语间距为筛选条件
  • 学习使用apriori算法挖掘关联关系

热门用户

GMT+8, 2024-4-19 20:55