主题名:WTOIP_2
因为共有3种网页结构,每种结构稍有不同,于是我在这个主题名下定义了3个规则抓取相应的网页,每个规则中都用一个Flag作为区分标志,但是打数机运行的时候总是显示匹配失败,并且有提示,请问我错在哪里?谢谢

举报 使用道具
| 回复

共 13 个关于本帖的回复 最后回复于 2017-5-10 14:26

沙发
Fuller 管理员 发表于 2017-5-8 15:51:32 | 只看该作者
我正在加载第一个规则,加载成功,看到Flag对应的xpath是
  1. *//*[@class='goods-tb']/tbody/tr[position()=5]/td/text()
复制代码


这种含有position()函数的表达式很容易失效,因为如果网页上这个tr不是位于5的位置,就会失效。我仔细对比一下其他几个规则看看

举报 使用道具
板凳
Fuller 管理员 发表于 2017-5-8 16:01:23 | 只看该作者
第二个规则我加载不成功,“联系方式”定位不上,估计是我没有登录造成的。3个规则看起来都很好。

你抓取的时候所有的都失败吗?

改善建议是
1,用上定位标志映射,这个网页上有很多class,都很合适

2,Flag定义的不是很好
a,第三个规则:如果第三个规则专门针对有特惠件的,那么这个特惠价有个特殊的class='new_price',应该用上定位标志映射
b,第一个规则:如果使用“有效期限”这个词作为标志,应该用自定义xpath,点击“测试”按钮,选择“数据规则”标签,看到Flag的自动生成的xpath是
  1. *//*[@class='goods-tb']/tbody/tr[position()=5]/td/text()
复制代码
应该修改成
  1. *//*[@class='goods-tb']/tbody/tr/td/text()[contains(.,'有效期限')]
复制代码





举报 使用道具
地板
hblemon2008 高级会员 发表于 2017-5-8 16:01:50 | 只看该作者
谢谢
举报 使用道具
5#
hblemon2008 高级会员 发表于 2017-5-8 16:20:28 | 只看该作者
第一个规则用的是“有效期限”,第二个规则用的是“商标状态”,第三个规则用的是“特 惠 价",用第一个规则抓取的时候失败的少,其他两个基本不行
举报 使用道具
6#
wangyong 版主 发表于 2017-5-8 17:36:20 | 只看该作者
采集成功的结果文件里有规则_2和规则_3的?
举报 使用道具
7#
hblemon2008 高级会员 发表于 2017-5-8 18:30:16 | 只看该作者
好象没有看到规则2和规则3采集成功的,不知道什么原因
举报 使用道具
8#
Fuller 管理员 发表于 2017-5-8 19:16:20 | 只看该作者
hblemon2008 发表于 2017-5-8 18:30
好象没有看到规则2和规则3采集成功的,不知道什么原因

用标志性抓取内容做区分不容易控制,这个网站的不同板块用不同的规则是否可以?定义多个主题,每一类产品信息用各自的规则
举报 使用道具
9#
hblemon2008 高级会员 发表于 2017-5-9 13:43:00 | 只看该作者
用多个主题不大行的通,因为在总共3385页中不同网页结构是不知道什么时候出现的
举报 使用道具
10#
HJLing 版主 发表于 2017-5-9 14:10:31 | 只看该作者
hblemon2008 发表于 2017-5-9 13:43
用多个主题不大行的通,因为在总共3385页中不同网页结构是不知道什么时候出现的 ...

建立多个规则程序会自动选择合适的规则来采集
参考教程《怎么在同一个主题名下建立多个规则
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

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

热门用户

GMT+8, 2024-5-18 22:35