【参考】清理采集的生成的脏数据记录一交流

shenyin2020-6-4 296

因为采集规则写的不完善,整站采集偶尔会有那么几条脏数据,导致程序报错。

昨晚挂了个采集任务,今天发现翻页,有几页不显示数据,于是就修改index.php开启debug模式。

找到错误的文章,显示tag报错,phpmyadmin看了下“well_website_thread”表下该文章的tag数据,发现报错的数据缺少"}"。

于是键入sql命令:

SELECT * FROM `well_website_thread` WHERE `fid`=24 AND `tag` NOT REGEXP '}'

fid是分类ID,该命令会查找tag不包含"}"的数据,发现106条,直接删除。

删完报错更厉害了,排查发现表"well_website_thread_tid"还有相关数据。

于是键入sql命令:

SELECT * FROM `well_website_thread_tid` WHERE `tid` not in (select `tid` from `well_website_thread`);

tid是文章id,这条命令意思就是  对比"well_website_thread_tid"和"well_website_thread"两个表,找到"well_website_thread_tid"表多出来的脏数据,发现106条,数据匹配,直接删除。

问题解决。

 

以上过程仅供参考,操作前请备份数据。

最新回复(4)
  • 燃烧的冰2020-6-4
    2
    你是有多久没有升级程序了
  • shenyin2020-6-4
    3
    燃烧的冰 你是有多久没有升级程序了
    不是说5.20版本因为压缩图片导致采集效率差,打算等优化了就升级。
  • 燃烧的冰2020-6-4
    4
    website_thread 表 tag 字段 长度加大,这表明你采集的数据 tag 长度超出了字段限制。
  • 燃烧的冰2020-6-4
    5
    早已经优化了,改回原来不在压缩图片,采集压缩图片意义不大。
返回
发新帖