iou33449999 发表于 2017-10-23 00:19:13

检测重复网址无效的烦忧~

本帖最后由 iou33449999 于 2017-10-23 00:31 编辑

首先,我还是一个新手、、、
某站,为了采集所有的网址,需要使用两个采集规则才可以确保采集完整数据,于是,我在两个采集规则分别采集完网址之后(此时不进行内容采集),将两个数据库(数据库为Access的SpiderResult.mdb格式)里面的PageUrl合并去重之后就得到了完整版采集网址(URL.txt,超过30万网址),然后新建一个采集规则用于采集每个网址对应的内容,并且通过Access数据库功能,直接将合并去重后的网址(URL.txt)导入数据库的PageUrl字段下,然后进行内容采集,到此为止,一切都是正常的。


由于该站每天都有更新,这样我就想要对该站的前十个分页每天采集一次(也许更新的只是前1个、前3个或前5个分页,但是为了不遗漏数据,所以我就想采集前10个分页),但是此时我发现,新建的采集规则的检测重复网址无效,之前采集过的网址还是会出现在数据库的PageUrl里面,为什么明明PageUrl里面已经有这个网址了,但是还是会采集该网址呢????

于是我在论坛里面搜索后发现,或许,火车头判断是否重复网址的依据不是看SpiderResult.mdb数据库里面的PageUrl字段,而是依据\Data\PageUrl下的数据库里面的Urls字段,是吗?那里记录的是一串字符,难道是每个网址的MD5吗?2a3c87a87ab49f6c之类的。


那么,我该怎么办才可以实现两个采集规则下的去重采集,并且可以每日更新采集而且不会重复采集呢?

303718 发表于 2017-10-23 09:23:19

是MD5.
开始采集的时候两个规则里可以设置同一个网址库。这样就两个规则采集都不会重复了呢。

jfjb@2016 发表于 2017-10-23 14:41:27



把两个规则的网址库设置成一样的,你会发现问题都解决了

iou33449999 发表于 2017-10-23 20:07:48

303718 发表于 2017-10-23 09:23
是MD5.
开始采集的时候两个规则里可以设置同一个网址库。这样就两个规则采集都不会重复了呢。 ...

也就是, 分别采集, 然后再合并两个数据库吗?
那么,可以共用同一个数据库吗?

leweizxl 发表于 2017-10-24 09:10:26

iou33449999 发表于 2017-10-23 20:07
也就是, 分别采集, 然后再合并两个数据库吗?
那么,可以共用同一个数据库吗? ...

共用同一个库就行了
页: [1]
查看完整版本: 检测重复网址无效的烦忧~