像如图这种有回复被隐藏里需要点击展开的情况,如何爬取?

WechatIMG482.png
WechatIMG481.png
举报 使用道具
| 回复

共 14 个关于本帖的回复 最后回复于 2020-1-12 16:37

KeshawnJiang 初级会员 发表于 2018-12-11 12:08:59 | 显示全部楼层
规则名:美团众包贴吧二级
麻烦大神帮我看看如何做样例复制?我做了好几层的嵌套,因为这个页面不是每个跟贴都有回复内容,所以不知道如何做样例复制。
举报 使用道具
Fuller 管理员 发表于 2018-12-11 19:07:50 | 显示全部楼层
要做连续点击动作,把这些回复点击开,才能抓全部的。这是高级教程中的内容,教程网址是:https://www.gooseeker.com/tuto/tutorial.html ,左栏展开能看到高级教程
举报 使用道具
KeshawnJiang 初级会员 发表于 2018-12-11 22:55:04 | 显示全部楼层
Fuller 发表于 2018-12-11 19:07
要做连续点击动作,把这些回复点击开,才能抓全部的。这是高级教程中的内容,教程网址是:https://www.goos ...

谢谢,可以帮我看看上一楼的问题吗?
举报 使用道具
Fuller 管理员 发表于 2018-12-11 23:42:59 | 显示全部楼层
KeshawnJiang 发表于 2018-12-11 22:55
谢谢,可以帮我看看上一楼的问题吗?

我加载了你的规则,你的样本页面上没有要点开的回复。有没有回复比较多的样本页面
举报 使用道具
KeshawnJiang 初级会员 发表于 2018-12-12 11:45:34 | 显示全部楼层
本帖最后由 KeshawnJiang 于 2018-12-12 12:14 编辑
Fuller 发表于 2018-12-11 23:42
我加载了你的规则,你的样本页面上没有要点开的回复。有没有回复比较多的样本页面
...

现在改了样本页面,麻烦你看看?
(附图的问题我已解决 可以不用管它
WechatIMG486.png
举报 使用道具
Fuller 管理员 发表于 2018-12-12 13:59:39 | 显示全部楼层
KeshawnJiang 发表于 2018-12-12 11:45
现在改了样本页面,麻烦你看看?
(附图的问题我已解决 可以不用管它

做这个规则有好几个难点:
1,这是一个列表,要把所有帖子采集下来,那么先选一个帖子作为样本做内容映射,通常选第一个帖子做样本,但是第一个帖子没有回复,一定要选后面某个帖子。你做的规则不对,有些内容映射用了第一个帖子的,回复部分用了后面帖子的,这样生成的规则就有问题。

对于百度贴吧来说,这个难点可以不那么难,你用中间某个帖子做样本做映射,然后用上定位标志映射采集列表,就不要求用第一个和第二个样本做样例复制了。
假设你用第二条帖子作为样本做的内容映射,那么就用第二条样本对应的节点的class作为定位标志映射给“跟帖”
定位标志20181212135450.png

2,这个网页看起来要点击查看更多才能把所有回复全看到,我看这个样本页面,有捷径,如下图,那些隐藏的回复其实已经在网页上了,只是在一个hidden节点下。抓取回复的时候,也不要用样例复制映射,而是用定位标志映射,只可惜第一条的定位标志跟其他的不一样,要么第一条单独抓,要么就是手工修改规则了
hidden20181212135738.png
hidden20181212135738.png
举报 使用道具
KeshawnJiang 初级会员 发表于 2018-12-12 14:52:52 | 显示全部楼层
Fuller 发表于 2018-12-12 13:59
做这个规则有好几个难点:
1,这是一个列表,要把所有帖子采集下来,那么先选一个帖子作为样本做内容映射 ...

好的,谢谢。
还有几个问题:
1.我给“跟贴”定位映射后,它包含的“用户”、“内容”这些需不需要定位映射?
2.为什么我每次做完定位映射后,下一次加载这个规则的时候,会说无法定位加载内容? 每次我都要重新设置一次定位映射

下一次加载时无法定位抓取内容

下一次加载时无法定位抓取内容
WechatIMG489.png
举报 使用道具
Fuller 管理员 发表于 2018-12-12 16:12:49 | 显示全部楼层
如果用中间的某条做映射,下次加载会企图定位到第一条帖子,就会出现问题,因为第一条很多内容没有。这个问题不好解决,除非写自定义xpath,让每个抓取内容一定能定位到网页上某个节点。自定义xpath的时候,定位用的xpath和抓取内容用的xpath可以不一样。定位用的主要是给定义规则过程用的。加载规则的时候就用定位用的xpath,而抓取内容用的xpath就是运行爬虫的时候用的。用这种方法可能很好地解决第一条帖子不含有全部内容和回复的情况。但是自定xpath写起来比较麻烦。可以参看这个教程:https://www.gooseeker.com/doc/thread-701-1-1.html
举报 使用道具
KeshawnJiang 初级会员 发表于 2018-12-12 23:16:10 | 显示全部楼层
Fuller 发表于 2018-12-12 16:12
如果用中间的某条做映射,下次加载会企图定位到第一条帖子,就会出现问题,因为第一条很多内容没有。这个问 ...

我按照教程,把“回复”自定义了xpath为  .//*[contains(@class,'lzl_single_post j_lzl_s_p ')]回复下面的“回复者”“回复内容”“回复时间”都做了xpath自定义

可是为什么输出信息显示只抓取了每一层楼的回复的第一条?
规则名:美团众包贴吧二级

WechatIMG497.png
WechatIMG496.png
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

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

热门用户

GMT+8, 2024-3-29 16:15