file:///C:\Users\u\AppData\Roaming\Tencent\Users\1620340997\QQ\WinTemp\RichOle\4XF)G{V3O)9)`N5)HPLI$2F.png

举报 使用道具
| 回复

共 10 个关于本帖的回复 最后回复于 2018-5-25 18:04

沙发
Fuller 管理员 发表于 2018-5-25 15:52:24 | 只看该作者
在创建规则工作台上,点击“测试”按钮,弹出窗口中有采集结果。切换到数据规则页签,就能看到这个抓取内容对应的XPath,把这个xpath拷贝出来,把含有class的那部分修改掉,变成contains()函数,比如 contains(@class, 'review') and contains(@class, 'words')这样的条件。然后在整理箱上对抓取内容做高级设置,选择自定义xpath的方式,把修改好的xpath填进去。这里有个教程:https://www.gooseeker.com/doc/article-269-1.html
举报 使用道具
板凳
missccx 初级会员 发表于 2018-5-25 15:54:08 | 只看该作者
Fuller 发表于 2018-5-25 15:52
在创建规则工作台上,点击“测试”按钮,弹出窗口中有采集结果。切换到数据规则页签,就能看到这个抓取内容 ...

好的 谢谢 我试一下
举报 使用道具
地板
Fuller 管理员 发表于 2018-5-25 16:08:25 | 只看该作者
missccx 发表于 2018-5-25 15:54
好的 谢谢 我试一下

如果尝试不成功,就存规则,然后贴出来主题名,我们可以加载你的规则分析原因
举报 使用道具
5#
missccx 初级会员 发表于 2018-5-25 16:35:49 | 只看该作者
Fuller 发表于 2018-5-25 15:52
在创建规则工作台上,点击“测试”按钮,弹出窗口中有采集结果。切换到数据规则页签,就能看到这个抓取内容 ...

怎么也弄不出来。。。。有“展开评论”字样的评论总是收集不全。。。
规则名是“公园评论收集0525”,麻烦您能帮我看一下吗?网址是http://www.dianping.com/shop/4240060/review_all
举报 使用道具
6#
Fuller 管理员 发表于 2018-5-25 17:04:06 | 只看该作者
missccx 发表于 2018-5-25 16:35
怎么也弄不出来。。。。有“展开评论”字样的评论总是收集不全。。。
规则名是“公园评论收集0525”,麻 ...



可以这样改动
1,首先,给“用户名”用上定位标志映射,这个操作虽然对解决你的问题没有帮助,但是可以提高规则的适应性。参看《定位标志精确采集范围
2,其次,“评论”要重新做内容映射,你原先选择的节点是在DIV[@class='review-words Hide']中,不能用这个节点的内容,因为只有发生折叠的评论才有这个节点,所以你的规则就有漏的。要用DIV[@class='review-truncated-words']中的#text节点做内容映射
3,点击“测试”,切换到数据规则那个输出窗口,看到抓取“评论”用的xpath是
  1. *//*[@class='review-truncated-words']/text()[position()=1]
复制代码
把它拷贝下来,修改成
  1. *//*[@class='review-truncated-words' or @class='review-words']/text()[position()=1]
复制代码


用了一个or,这样就能抓到有折叠的,也能抓到没有折叠的
4,在整理箱上,选中“评论”这个抓取内容,选择高级设置,填写自定义Xpath,把改好的xpath填进去


举报 使用道具
7#
missccx 初级会员 发表于 2018-5-25 17:24:30 | 只看该作者
Fuller 发表于 2018-5-25 17:04
可以这样改动
1,首先,给“用户名”用上定位标志映射,这个操作虽然对解决你的问题没有帮助,但是可以 ...

这样还是不可以啊。
要用DIV[@class='review-truncated-words']中的#text节点做内容映射 这样需要展开评论的评论后面都没显示出来。。。
举报 使用道具
8#
Fuller 管理员 发表于 2018-5-25 17:45:22 | 只看该作者
missccx 发表于 2018-5-25 17:24
这样还是不可以啊。
要用DIV[@class='review-truncated-words']中的#text节点做内容映射 这样需要展开评 ...

在整理箱中多创建一个抓取内容吧,比如,“展开的内容”,把DIV[@class='review-words Hide']中的内容存下来。如果有些评论没有折叠的内容,那么这个抓取内容就是空的。等处理抓取结果的时候,将“内容”和“展开的内容”两个字段的内容合并一下
举报 使用道具
9#
missccx 初级会员 发表于 2018-5-25 18:00:11 | 只看该作者
Fuller 发表于 2018-5-25 17:45
在整理箱中多创建一个抓取内容吧,比如,“展开的内容”,把DIV[@class='review-words Hide']中的内容存 ...

我现在是*//*[@class='review-words Hide' or @class='review-words']/text()[position()=1]但是有一个问题:这个text并不完整 因为这个评论需要换行 这样只能收集到第一行的内容。但是定位到其他节点评论内容就收集不全,这个怎么解决啊,麻烦啦



举报 使用道具
10#
Fuller 管理员 发表于 2018-5-25 18:02:42 | 只看该作者
missccx 发表于 2018-5-25 18:00
我现在是*//*[@class='review-words Hide' or @class='review-words']/text()但是有一个问题:这个text并 ...

那把xpath写成这样
  1. *//*[@class='review-words Hide' or @class='review-words']
复制代码


不用后面的text()这些,这样就能把这个div下的所有text存下来
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

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

热门用户

GMT+8, 2024-4-20 10:29