本帖最后由 terry_cai 于 2018-8-24 09:59 编辑

你好!
       我在抓取数据时遇到这种情况!
       我用自定义XPath:
              *//*[@class='WB_face W_fl']/a/img/@usercard
       得到的结果是
                问题1.png
      但是我想去到 id=,所以我加了函数在表达式,写成这样
             substring-after(*//*[@class='WB_face W_fl']/a/img/@usercard,'id=')
      得到的结果变成空
          问题2.png
      请问我错在那里?



举报 使用道具
| 回复

共 2 个关于本帖的回复 最后回复于 2018-8-24 10:33

terry_cai 新手上路 发表于 2018-8-24 10:08:31 | 显示全部楼层
己解决,原来要写成
substring-after(.//*[@class='WB_face W_fl']/a/img/@usercard,'id=')
举报 使用道具
Fuller 管理员 发表于 2018-8-24 10:33:46 | 显示全部楼层
terry_cai 发表于 2018-8-24 10:08
己解决,原来要写成
substring-after(.//*[@class='WB_face W_fl']/a/img/@usercard,'id=')

是的,在自定义xpath中,不允许出现 *// 开头的xpath,这个好像就是在抓取规则中有效,抓取规则是XSLT语法。

另外,如果抓取多个样例,自定义xpath不能用 // 开头,或者 /html 开头,这样都是从整个网页范围内找节点,多个样例很可能就抓成一样的内容了。而是应该相对于整理箱的定位节点,写成 ./ 开头的xpath,这样的话,整理箱能抓到几个样例,那么里面的抓取内容就分别从这些样例内部定位到内容节点。
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

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

热门用户

GMT+8, 2024-3-29 14:14