本帖最后由 ym 于 2016-9-7 11:24 编辑

常见问题 > 制作规则—常见问题导航 > 翻页 > 同時有页数(1,2,3,...)和下一批页码(Next)两种形式,怎样做翻页

版主大大您好:
新手求救~~~
問題主題: Korea_Mold
爬蟲網頁: http://www.koreamold.com/eng/suppliers/company/main.asp
在翻頁的時候, 同時有頁數(1,2,3,...)和下一頁(Next)兩種形式, 並且Next是以image方式呈現。
故我設了兩個爬蟲路線, 相對線索和記號線索。
但是爬到第20頁時, 就無法往下爬了~~

請教版主大大這如何解~
感激不盡
擷取2.JPG
擷取.JPG
举报 使用道具
| 回复

共 5 个关于本帖的回复 最后回复于 2016-8-30 17:33

ym 版主 发表于 2016-8-30 11:21:21 | 显示全部楼层
这种复杂的翻页可以用连续动作来解决,把爬虫路线的翻页设置都删掉,去连续动作中新建点击动作,目标主题名指向当前主题,然后找到要点击的翻页区的节点,写出合适的xpath并填到定位表达式框中,还要在高级设置中修改额外延时为3(防止没翻完页就跳走了),重复次数为100(为了能够逐个点击页码,否则由于xpath的缘故就会跳着点击),最后,因为连续动作里设置重复次数100,为了防止后面循环点击,DS打数机要设置高级菜单->勾上重复内容。
QQ截图20160830111301.png

举报 使用道具
ShelleyWu 初级会员 发表于 2016-8-30 14:47:27 | 显示全部楼层
本帖最后由 ShelleyWu 于 2016-8-30 15:09 编辑

感謝@ym的回覆~

嘗試了一下新的做法,
連續點擊裡的定位表達式修改為 //*[@class='Page_bold']/following-sibling::*
就能夠實現連續點擊了~
log.JPG
issue.jpg
举报 使用道具
Fuller 管理员 发表于 2016-8-30 15:40:15 | 显示全部楼层
ShelleyWu 发表于 2016-8-30 14:47
感謝@ym的回覆~

嘗試了一下新的做法,

我还没有具体测试,加载您的规则以后发现有这个点击动作
  1. //*[@class='Page_bold']/following-sibling::*
复制代码
用连续动作的时候一定要注意以下特点:
1)爬虫内部有个指针,每做一个动作往前推1
2)这个指针是一个node list的指针,这个node list就是上面那个xpath生成的。
3)每做一次动作,node list会重新生成

基于这些特点,您写的xpath会表现出一个不好的行为特点:往前跳,详细说会这样
第一次:离@class='Page_bold'节点距离是 1 的下一个节点是点击目标
第二次:离@class='Page_bold'节点距离是 2 的下一个节点是点击目标


可见,跳过了一个,应该总是挨着@class='Page_bold'。


这是GooSeeker爬虫的设计特点。所以,前面有个回答,用重做次数来约定总是点击紧挨着的那个节点是可行的,xpath可以写的更加精准
  1. //*[@class='Page_bold']/following-sibling::a[1]
复制代码
只定位到一个节点
举报 使用道具
ShelleyWu 初级会员 发表于 2016-8-30 16:30:35 | 显示全部楼层
本帖最后由 ShelleyWu 于 2016-8-30 16:57 编辑
Fuller 发表于 2016-8-30 15:40
我还没有具体测试,加载您的规则以后发现有这个点击动作
用连续动作的时候一定要注意以下特点:
1)爬虫 ...

Fuller板大你好: 多謝提醒!!

先前因為網速問題, 常常會點不到Next, 導致在第10頁重複點選。
15:59:46 30/8    4        LoopEnd    因发现重复内容,连续动作将被中断
15:59:46 30/8    4    163149116    PushStack    因发现重复内容,本线索终止运行
15:59:46 30/8    4        CleanWorksBucket    因发现重复内容,连贯抓取将被中断

在高级設置中調高額外延時(這邊是改為10), 似乎可以改善重複點擊的問題?
不知道是否有其他方式也可改善?

Note: 總感覺網速問題強烈影響爬蟲的過程和結果...@@

net_speed.JPG
举报 使用道具
Fuller 管理员 发表于 2016-8-30 17:33:53 | 显示全部楼层
ShelleyWu 发表于 2016-8-30 16:30
Fuller板大你好: 多謝提醒!!

先前因為網速問題, 常常會點不到Next, 導致在第10頁重複點選。

如果增加额外延时有效,那么可能是不能点太早,但是也可能是这个问题:

不要用“模拟点击”,我最近发现,如果设置模拟点击,被点的节点是html A节点,可能会被目标网页当成多点了一次。

不过,你这个现象很可能是网速慢,造成点的过早。这种情况的话,除了额外延时还没有更好的方法
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

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

热门用户

GMT+8, 2024-3-29 22:21