日期:2014-05-17  浏览次数:20503 次

100分 采集数据 如何与对方网站数据一致 包括对方网站数据的删除
采集数据的时候 如何做到与对方的网站数据一致?也就是说对方网站删除了他们库里的某条信息的时候 那么我们之前已经采集到的入库了的数据怎么处理?采集的url地址只有一个 这个url地址里面有很多数据

网上说可以用唯一key的办法 不怎么明白 是入库的主键key 还是别的其他 求高人 求思路!

------解决方案--------------------
系统之间同步?对方如果只提供url接口,也就说只是推数据不做任何逻辑处理。那你只能是把拉到的数据先放在你的临时表,再用你的临时表和正式表的数据做对比,方法很多可以用关键ID,CODE之类的对比出需要更新insert数据ID,再用SQL语句把临时表需要新增的ID插入的正式表。
------解决方案--------------------
每显示一条新闻信息时,要和对方网站的数据比较一下,如果有删除或修改,那么对本地数据也要修改和删除。
不能依靠key,那是靠不住的。建立临时表的方法不可取。更没必要中间表。就是拿本地数据和对方服务器数据比较。但比较过程会耗资源和时间。这也可以采用后天处理。
还有更好的方法,就是对方发送改动时,给你发个通知,这要看对方是否配合你了
------解决方案--------------------
你可以做一个不间段的采集程序WINFORM,或者直接写服务
一直采集数据与你自己现有的库进行比对
如果对方采用规则的主键字串比较好办,,比如自增列,你采主键为 111 时成功,112时失败,说明112数据已经被删
如果对方采用不规则主键,你只能先把他整站采集下来再整体比对

对方不提供SERVICE,你只能这么干,比较耗系统资源
------解决方案--------------------
目标网站某中的一条网址删除了他也不会通知你,所以你只好定期遍例你的URL列表啦,看看要是返回404,那你也把当前URL对应的数据给删除掉就可以了。