新浪分页采集变重复的问题
新浪新闻,如军事,其分页和所有其他新闻的地址命名是一样的,如:http://mil.news.sina.com.cn/p/2008-06-06/0846504152.html
http://mil.news.sina.com.cn/p/2008-06-06/0846504153.html
http://mil.news.sina.com.cn/p/2008-06-06/0846504154.html
http://mil.news.sina.com.cn/p/2008-06-06/0846504155.html
http://mil.news.sina.com.cn/p/2008-06-06/0846504156.html
以上是一条新闻的5个分页,每个页面标题都不同,火车可以采集到分页,问题是:
以上的5个页面和其他新闻一样,都直接在火车的采集网址里,火车把每个分页都当成一条独立的新闻来采,结果是采回来5条新闻,每条里面都含有上面的5个分页,只是排列顺序不同而已。
谁能告诉我该怎么办?
[ 本帖最后由 madaha 于 2008-6-6 21:14 编辑 ] 不可以,列表页来看,他们根本就是不同的文章,里面的分页只是相关文章而以,你可不要设置分页,不用采集分页 谢谢孤魂大大。
但这不是相似文章,确实是分页。新浪军事新闻都是这么分页的。
老大说不可以,看来是没办法了。
[ 本帖最后由 madaha 于 2008-6-6 18:40 编辑 ] 好象新浪的其他新闻也是这样分页的。
看下面的一条体育新闻:
http://sports.sina.com.cn/euro2008/g/2008-06-06/02383703559.shtml
http://sports.sina.com.cn/euro2008/g/2008-06-06/02383703561.shtml
“欧洲杯十大妖人”,连标题都一模一样,内容绝对是同一条新闻,每个分页5个妖人。:lol 方法是有的,希望火车在今后的版本能实现:
如果是分页的第一页,在分页的地方是这样的
<span class='pagebox_pre_nolink'>上一页</span>
因为是第一页,不存在上一页。如果是其他分页,则如下
<a href='http://mil.news.sina.com.cn/p/2008-06-06/0846504153.html'>上一页</a>
上一页有链接。
火车可以加以判断,如果是第一种情况,就采集,连分页一起采。如果是第二种情况,就不采集。这样就不会重复了。 火车在采集网址规则里有必须包含、不得包含的功能,但采集内容规则里无此功能。否则就没有这个问题了。 绕了一大圈,终于搞定了。火车还是有潜力可挖呀!:ali12ls
为方便遇到同样问题的兄弟,把思路提供出来。
火车有个全局设置功能,可以把标题或内容为空的页面过滤掉。就用这个功能!
1、先把原来的采集标签“标题”改成其他名称,如“题目”。记得在发布模块那里也要对应的改过来。
2、新建一个“标题”标签。规则可以参考“内容”标签,但要排除掉绝大部分内容,只留几个字或代码。否则等会发布的时候,火车界面“发内容--WEB发布成功:”后面跟一长窜可别怪我。
3、关键是,当页面中包含“<a href=xxxl'>上一页</a>”时,要把“标题”标签的内容全部排除掉,让“标题”为空。这条规则要放在内容排除的最上面,因为规则是一条一条顺序执行的。很多人排除规则写得不对,就是没考虑顺序,或者说没去想上面一条规则已经排除掉的内容,在下条规则执行时已经不存在了。
4、附上顶楼那条新闻的“标题”标签规则
开始:<!--正文内容开始-->(*)<div class="artibody"
结束:<!--发表评论开始-->
内容排除一:id="artibody"(*)_function_code_page(*)<a(*)>上一页(*)<!--关于内容的操作开始-->
内容排除二:id="artibody"(*)<!--正文内容结束-->(*)</div>
正常页面,标题只留下“<!--关于内容的操作开始-->”这几个字。如果该页面是某条新闻的分页,则“标题”标签为空,火车会将其过滤。
这并不会影响到该条新闻及其分页的采集,只是防止了重复的采集。
[ 本帖最后由 madaha 于 2008-6-6 21:58 编辑 ] 把上面的规则完善一下,使“标题”标签仍显示正确的标题,而不是一句无意义的话。
开始:id="artibodyTitle">
结束:<!--关于内容的操作开始-->
内容排除一:<h1>(*)_function_code_page(*)<a(*)>上一页(*)<!--正文内容结束-->(*)</div>
内容排除二:</h1>(*)<!--正文内容结束-->(*)</div>
内容排除三:<h1> ali16ls
页:
[1]