集搜客GooSeeker网络爬虫

标题: Xpath与轮询结合不了 [打印本页]

作者: betheone0625    时间: 2017-6-14 13:51
标题: Xpath与轮询结合不了
我想用xpath和定位标志结合 实现精准轮询抓取,但在数据结构中 高级设置里设置的xpath总是抓取的一样的东西,跟上层的定位标志容器没法融合起来用,有办法吗?参考规则:xpath不能重复,里面只要抓一个评论时间,但xpath定义过的时间抓的都是所有时间,如何实现轮询式抓取,如果xpath已经不能满足这个需求,如何在数据规则里实现,没有教程教这个啊

作者: xandy    时间: 2017-6-14 14:21
或者都抓下来之后再对评论时间进行筛选吧
作者: HJLing    时间: 2017-6-14 14:36
只抓某一条的数据写xpath就精确到某一个位置,例如
  1. ./html/body/tr[1]/td[2]
复制代码
这种xpath语句不会定位到多个节点,因为确定了要第几个点


作者: betheone0625    时间: 2017-6-20 15:12
HJLing 发表于 2017-6-14 14:36
只抓某一条的数据写xpath就精确到某一个位置,例如
这种xpath语句不会定位到多个节点,因为确定了要第几个 ...

这是定位标志与内容映射后的数据规则
<id>
<xsl:value-of select="*//*[@class='WB_text']/a[position()=1]/@usercard"/>
<xsl:value-of select="*[@class='WB_text']/a[position()=1]/@usercard"/>
<xsl:if test="@class='WB_text'">
<xsl:value-of select="a[position()=1]/@usercard"/>
</xsl:if>
</id>

但这个数据规则能否成功很大程度取决于 网页的定位标志设置,如果同样的定位标志有很多要排除的数据,那么就需要自定义xsl或者xpath,
我个人对xpath熟悉一些,但同时想用 定位标志这个功能,实现某个范围的数据精确抓取,那么有两个办法:
第一:有没有 在定位标志下 如何自定义xsl的 教程
第二:xpath如何与定位标志结合,实现既重复又精确(即数据结构中的高级设置后填入的xpath语句)

另外解释一下:给出的主题只是为了表示 如果单纯用xpath是没法有规律的像定位标志般一个一个抓取数据的,那么如何结合两者


作者: wangyong    时间: 2017-6-20 15:44
betheone0625 发表于 2017-6-20 15:12
这是定位标志与内容映射后的数据规则

一个一个抓取数据除了定位标志还有样例复制

作者: betheone0625    时间: 2017-6-20 16:15
wangyong 发表于 2017-6-20 15:44
一个一个抓取数据除了定位标志还有样例复制

您的意思是 xpath 怎么也不能跟 定位标志结合起来用是吗?也没有 xsl的教程?






欢迎光临 集搜客GooSeeker网络爬虫 (https://www.gooseeker.com/doc/) Powered by Discuz! X3.2