自己做了一个规则想采集微博搜索博主昵称的第一条数据
有几个字段是用的自定义xpath,可以通过搜索框准确定位到节点,但是使用打数机采集和谋数机检测的时候都采集不到。
请问该怎么解决?谢谢。
我的规则名是微博搜索-详细信息
举报 使用道具
| 回复

共 8 个关于本帖的回复 最后回复于 2020-6-20 17:39

沙发
Fuller 管理员 发表于 2020-6-20 08:36:36 | 只看该作者
例如,像“性别”这个抓取内容,你的xpath是  //*[starts-with(@class,'icon-sex')]/@class

用 // 开头,表示从html全局找节点。通常,自定义xpath的时候不要用全局查找,而是用 ./ 开头,表示相对于容器节点的位置开始定位。因为容器在网页上划定了一个范围,在这个范围里面找,就会很精准。

首先要知道抓取内容到容器节点的相对关系。在自定义xpath之前,点击“测试”按钮,然后去看数据规则,找到这个抓取内容,自动生成的xpath一定是 ./ 开头的,或者直接是html元素名。参照自动生成的xpath,就知道相对定位关系,再写自己的xpath

如果定义了样例复制,一定不能用 // 开头的xpath,否则所有样例只采集到相同的值
举报 使用道具
板凳
Fuller 管理员 发表于 2020-6-20 08:40:14 | 只看该作者
我测试你的规则,看到采集的信息很全,哪个抓取内容没有采集到?
举报 使用道具
地板
sdt110 中级会员 发表于 2020-6-20 15:57:36 | 只看该作者
Fuller 发表于 2020-6-20 08:40
我测试你的规则,看到采集的信息很全,哪个抓取内容没有采集到?

性别,认证icon,关注数,粉丝数这几个字段都会抓不到
我在显示xpath那里看到的都是以//*开头的 是我哪里设置错了吗?



举报 使用道具
5#
Fuller 管理员 发表于 2020-6-20 16:43:19 | 只看该作者
sdt110 发表于 2020-6-20 15:57
性别,认证icon,关注数,粉丝数这几个字段都会抓不到
我在显示xpath那里看到的都是以//*开头的 是我哪里 ...



我这里测试采集到的很全

你那里不是这样?
举报 使用道具
6#
sdt110 中级会员 发表于 2020-6-20 16:48:38 | 只看该作者
本帖最后由 sdt110 于 2020-6-20 16:51 编辑
Fuller 发表于 2020-6-20 16:43
我这里测试采集到的很全

你那里不是这样?

是这样的  但是如果我换一个其他链接(新的链接可能会少几个字段),可能就只能采集到博主和主页链接两个字段
xpath就像不执行一样 谋数台那里都提示无法定位 而且跟我写的xpath不一样
我重新写了一个规则,test_sousuobozhu
测试链接是:https://s.weibo.com/user?q=xiyuru&Refer=SUer_box


举报 使用道具
7#
Fuller 管理员 发表于 2020-6-20 17:12:03 | 只看该作者

每个条目对应一个p元素,每个p元素自身和内部元素没有任何可以区别的定位标志。这个时候,只能利用文字作为标志,看红框里面的位置,自定义xpath中就要利用上。比如
//*[@class='info']/p/span[contains(text(), '关注')]/a
可以定位到关注数

在显示xpath那里得到的xpath,是全局的,一般以 // 开头,放在规则中,要改成局部的,相对于整理箱。
举报 使用道具
8#
Fuller 管理员 发表于 2020-6-20 17:13:38 | 只看该作者
举报 使用道具
9#
sdt110 中级会员 发表于 2020-6-20 17:39:42 | 只看该作者
Fuller 发表于 2020-6-20 17:13
这里有一个教程:https://www.gooseeker.com/doc/article-269-1.html

还有一些讨论:https://www.gooseeke ...

好的 谢谢 我把关注字段不选关键内容以后可以爬下来而且不报错了。。。

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

精彩推荐

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

热门用户

GMT+8, 2024-4-20 15:36