madaha 发表于 2008-6-6 16:27:46

新浪分页采集变重复的问题

新浪新闻,如军事,其分页和所有其他新闻的地址命名是一样的,如:

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 编辑 ]

孤魂 发表于 2008-6-6 16:30:24

不可以,列表页来看,他们根本就是不同的文章,里面的分页只是相关文章而以,你可不要设置分页,不用采集分页

madaha 发表于 2008-6-6 18:23:33

谢谢孤魂大大。

但这不是相似文章,确实是分页。新浪军事新闻都是这么分页的。

老大说不可以,看来是没办法了。

[ 本帖最后由 madaha 于 2008-6-6 18:40 编辑 ]

madaha 发表于 2008-6-6 18:58:02

好象新浪的其他新闻也是这样分页的。

看下面的一条体育新闻:

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

madaha 发表于 2008-6-6 19:20:05

方法是有的,希望火车在今后的版本能实现:

如果是分页的第一页,在分页的地方是这样的

<span class='pagebox_pre_nolink'>上一页</span>

因为是第一页,不存在上一页。如果是其他分页,则如下

<a href='http://mil.news.sina.com.cn/p/2008-06-06/0846504153.html'>上一页</a>

上一页有链接。

火车可以加以判断,如果是第一种情况,就采集,连分页一起采。如果是第二种情况,就不采集。这样就不会重复了。

madaha 发表于 2008-6-6 19:23:39

火车在采集网址规则里有必须包含、不得包含的功能,但采集内容规则里无此功能。否则就没有这个问题了。

madaha 发表于 2008-6-6 21:40:08

绕了一大圈,终于搞定了。火车还是有潜力可挖呀!: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 编辑 ]

madaha 发表于 2008-6-6 21:54:36

把上面的规则完善一下,使“标题”标签仍显示正确的标题,而不是一句无意义的话。

开始:id="artibodyTitle">
结束:<!--关于内容的操作开始-->
内容排除一:<h1>(*)_function_code_page(*)<a(*)>上一页(*)<!--正文内容结束-->(*)</div>
内容排除二:</h1>(*)<!--正文内容结束-->(*)</div>
内容排除三:<h1>

sengl 发表于 2008-6-7 14:34:02

ali16ls
页: [1]
查看完整版本: 新浪分页采集变重复的问题