数据规则修改后为什么不成功?我在论坛找到的答案并这样操作:修改数据规则-测试单箱成功-测试所有成功-点击“保存修改”-直接爬数据。结果还是和没有修改数据规则前一样。不知道问题出在哪里?
举报 使用道具
| 回复

共 31 个关于本帖的回复 最后回复于 2017-2-9 14:35

沙发
Fuller 管理员 发表于 2017-2-8 12:32:27 | 只看该作者
手工测试看到效果了?但是DS运行的时候没有效果?

规则名是什么?
举报 使用道具
板凳
1501802756 初级会员 发表于 2017-2-8 13:32:50 | 只看该作者
是的,手工测试成功的,DS运行提到失败。规则名是pp-trademal-11。
举报 使用道具
地板
1501802756 初级会员 发表于 2017-2-8 13:37:16 | 只看该作者
Fuller 发表于 2017-2-8 12:32
手工测试看到效果了?但是DS运行的时候没有效果?

规则名是什么?

是的,手工测试成功的,DS运行提到失败。规则名是pp-trademal-11。            
举报 使用道具
5#
Fuller 管理员 发表于 2017-2-8 14:57:35 | 只看该作者
1501802756 发表于 2017-2-8 13:37
是的,手工测试成功的,DS运行提到失败。规则名是pp-trademal-11。            
...



采集内容只有这一个? 这个采集有什么意义?

DS运行的时候提示失败的日志内容是什么?记下来线索编号,然后,使用MS谋数台,菜单 工具-》加载规则-》按线索号 ,输入线索号,加载分析一下失败网页

本帖子中包含更多资源

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

x
举报 使用道具
6#
1501802756 初级会员 发表于 2017-2-8 15:17:58 | 只看该作者
Fuller 发表于 2017-2-8 14:57
采集内容只有这一个? 这个采集有什么意义?

DS运行的时候提示失败的日志内容是什么?记下来线索编号 ...

是要提取旁边那个网址的,因为定不了位,只能拿这个作为定位标记,和关键内容。因为勾了关键内容,所以提示匹配失败,没有什么线索编号。等到超时了,就失败了。
举报 使用道具
7#
1501802756 初级会员 发表于 2017-2-8 15:25:33 | 只看该作者
Fuller 发表于 2017-2-8 14:57
采集内容只有这一个? 这个采集有什么意义?

DS运行的时候提示失败的日志内容是什么?记下来线索编号 ...

刚才超时失败,到一个线索编号:322805652
举报 使用道具
8#
1501802756 初级会员 发表于 2017-2-8 15:35:28 | 只看该作者
Fuller 发表于 2017-2-8 14:57
采集内容只有这一个? 这个采集有什么意义?

DS运行的时候提示失败的日志内容是什么?记下来线索编号 ...

你能不能帮我建一个规则提取出来website旁边的第二个网址?

举报 使用道具
9#
Fuller 管理员 发表于 2017-2-8 16:50:10 | 只看该作者
1501802756 发表于 2017-2-8 15:35
你能不能帮我建一个规则提取出来website旁边的第二个网址?



假设网址很多,就像上图做一个样例复制规则,映射关系看蓝色箭头。如果肯定只有两个网址,就不要做一个字容器“网址列表”,而是用两个抓取内容,比如,网址1,网址2,分别存这两个网址。



这个网页总体来说是不容易精确采集的,因为一行内容一个tr,每个tr没有任何差别,万一某个网页的内容行数有变化,就定不准了。所以,使用简单的内容映射做的规则很难有高的适应性。你那个失败的线索很可能就是行数不够。

为了提高适应性,最后用自定义xpath,用第一列的名称作为标志来写xpath,要使用contains()函数,比如 //tr[contains(td[1]/text(), 'Telephone')]/td[2]/text() 就是采集电话号码的xpath

本帖子中包含更多资源

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

x
举报 使用道具
10#
1501802756 初级会员 发表于 2017-2-8 18:24:45 | 只看该作者
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="/">
<内容>
<xsl:apply-templates select="//tr[contains(td[1]/text(), 'Telephone')]/td[position()=1 and count(./text())>0]" mode="内容"/>
</内容>
</xsl:template>


<xsl:template match="//tr[contains(td[1]/text(), 'Telephone')]/td[position()=1 and count(./text())>0]" mode="内容">
<item>
<名称>
<xsl:value-of select="text()"/>
</名称>
<电话>
<xsl:value-of select="following-sibling::td[position()=1]/text()"/>
</电话>
</item>
</xsl:template>
</xsl:stylesheet>

我就是使用contains()函数,但是修改规则后,手工测试是可以成功的,但是DS就是不行。这个网页是一定要勾选关键内容,否则没加载到就提取了,提不到内容。
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

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

热门用户

GMT+8, 2025-5-3 21:33