关于测试正则表达式网上数量与最后监控数量不一致问题

652次浏览 更新日期:2020-11-08 22:34:49 分类:综合 评论:0

lawyerscloud 2016-10-31 14:16:12
前几天在某论坛看到“ 网站文章更新工具”发现其功能非常符合自身需求,遂参照相关视频学习了一下,视频比较详细,软件操作也不复杂,对于外行人来说依样画葫芦多少能像一点。现在有个问题想请教各位,劳烦各位指导一下,拜谢。
一、测试监控网站
1、http://www.chinalaw.gov.cn/article/fgkd/xfg/fl/
二、采集区域
table align="center" class="article"——href=http://bbs.kakawz.com/333/"index.shtml" id="p1"
三、正则匹配
<td class="ardot"></td><td class="arlisttd"><a title="(.*?)" target="_blank" href=http://bbs.kakawz.com/333/"/article/fgkd/xfg/fl/(/d*)/(/d*).shtml" class="artitlelist">(.*?)(d*)-(d*)-(d*)(.*?)
四、规则测试数量
20条
五、监控结果
3条
六、问题
(一)不管如何调整规则测试数量与监控结果数量始终对不上;
(二)正则匹配中有日期1997-07-09如何表示,是否是(d*)-(d*)-(d*),如果没错岂不是会额外增加两个索引?如果一定需要日期且需要日期作为索引该怎么替换?


admin 2016-11-01 09:51:29
测试的时候是20条,是取全部的。监控的时候,监控的是新文章,比如上次监控了17条,第二次发现了20条文章,但是17条是老的,就不会入库,只取3条新文章。

看你图片的配置,是有问题的。
一:法制办公室列表页面不是按id排序的,第1条比第2条的id小,第2条又比第三条的大,只有id依次减小才能用比较id来判断新文章。
二:标题索引,这些都填错了。索引是从0开始,不是1.故,标题索引应该是1,而非你填的2

你可以这样写:

正则(从你正则中改的):

引用:
<td class="ardot"></td><td class="arlisttd"><a title="(.*?)" target="_blank" href=http://bbs.kakawz.com/333/"(.*?)/(d*).shtml" class="artitlelist">(.*?)(.*?)(d*)

判断模式:文章倒序
标题索引:1文章id索引:不用管(这个只对比较文章id模式有用)
备用索引:3
合成网址:http://www.chinalaw.gov.cn[2]

我来说两句
发布新帖
版主信息