每个星级的class值不一样,怎么抓取class做星级的内容。或者有什么办法可以在采集评论内容时候,显示他是几星的评论

TIM图片20191212154629.png (137 KB, 下载次数: 372)

一星评论

一星评论

TIM图片20191212154541.png (126.61 KB, 下载次数: 404)

三星评论

三星评论
举报 使用道具
| 回复

共 1 个关于本帖的回复 最后回复于 2019-12-12 16:50

沙发
Fuller 管理员 发表于 2019-12-12 16:50:43 | 只看该作者
做采集规则的时候,用这个SPAN下的class属性做内容映射。在执行采集的时候,只会把这一种星级采集下来,这是因为爬虫在生成采集规则的时候,自动使用了这个span的class属性作为定位标志。

解决问题的方法至少有两种:

方案1:看看span的父节点或者比较近的祖先节点有没有合适的class或者id,如果有,就用那个class或者id做定位标志映射给这个星级抓取内容。也就是说,用人工指定的定位标志代替爬虫自己选的,人工指定的时候,选一个适用所有星级的定位标志。
定位标志映射的教程:https://www.gooseeker.com/doc/article-344-1.html

方案2:使用自定义xpath。操作方法参看教程:https://www.gooseeker.com/doc/thread-701-1-1.html
用contains()函数就可以把xpath写成适用各种星级的。例如 //*[contains(@class, 'appx-rating-stars')]/class

注意,上面这个xpath可以放在MS谋数台上用“搜索”按钮验证一下是否能适用所有星级,但是不能直接拷贝到自定义xpath输入框中。因为自定义xpath的起点path不能从 // 开始,而是应该相对于整理箱的xpath,一般开头是 .// 或者 ./ 这样的格式

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

精彩推荐

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

热门用户

GMT+8, 2024-4-26 06:33