要抓礼物的数据,礼物无class值,但是和他同级的感谢信有class值,而感谢信和礼物那一行的行数是会变动的,就有可能处在第二行第三行之类的,所以感谢信只能用class值定位,那礼物该怎么定位,求礼物的自定义xpath,网址是  http://apussy.haodf.com/



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
举报 使用道具
| 回复

共 4 个关于本帖的回复 最后回复于 2017-10-1 13:06

沙发
Fuller 管理员 发表于 2017-10-1 09:42:21 | 只看该作者
你的规则名是什么?一定要针对具体情况写xpath,不能随便写
举报 使用道具
板凳
whusim 中级会员 发表于 2017-10-1 11:37:19 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
举报 使用道具
地板
Fuller 管理员 发表于 2017-10-1 12:45:28 | 只看该作者

我加载了你的规则,看到已经定义了xpath,
  1. //span[@class='mr20']/following-sibling::span[1]/a/text()
复制代码


可以采集到想要的内容。这个xpath的起点是//,如果放在样例复制规则中采多个样例,就不合适了,通常我们都用相对起点 ./  开始的。但是要确定起点位置挺麻烦的。可以这样做:
1,先不要做自定义xpath,只做内容映射,点击测试按钮,看到数据规则,其中关于礼物的是这样
  1. <礼物>
  2. <xsl:value-of select="li[position()=3]/span[position()=2]/a/text()"/>
  3. </礼物>
复制代码


在这个网页上,可以看到起点是一个li,而这个li含有感谢信和礼物,那么可以写成
  1. .//span[@class='mr20']/following-sibling::span[1]/a/text()
复制代码


这是相对于感谢信,利用了他的class,也可以是利用文本内容“礼物”
  1. .//span[contains(text(), '礼物')]/a/text()
复制代码


通常我喜欢用后者,因为“礼物”这个词更加准确


举报 使用道具
5#
whusim 中级会员 发表于 2017-10-1 13:06:16 | 只看该作者
嗯嗯,非常感谢!
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • 360或火绒等杀毒软件导致GooSeeker爬虫软件
  • 话题分析(NMF模型和LDA模型)软件的安装和
  • 运行Apple无法验证的程序的方法
  • 文本聚类分析软件的安装和使用方法
  • 利用AI阅读和分析文本:扣子COZE记录用户反

热门用户

GMT+8, 2025-5-10 15:21