LanternD +

把LiveRe评论迁移到Disqus

 

标记

 这是Blog历史上距离上一篇时间间隔最大的日志。因为整个二月三月都在赶Deadline,连写个日志的心思都没有了。这两个月也发生了很多事情,可以说是每天都很混乱,总有海量的信息涌进来。

 目前状况一切还好,天天宅在家里,基本需求都能满足,没有症状。从3月12号开始到现在,面对面见过的人应该不超过5个。关于疫情的Topic有点沉重,之后再写个帖子记录一下这段时间的感受。

 本文的重点是评论迁移。是的,我早就看之前的LiveRe评论系统不顺眼了,现在终于有机会将其拿下。这里是介绍怎么迁移评论的,作为更换评论系统的第一步。

 注:本文于2020年4月3日测试有效,但不保证未来依然生效。

第一步

 首先我们要把评论弄到本地。由于LiveRe没有导出功能,所以我们只能手动导出数据了。理论上这一步爬虫也能做,但是我这评论不多,再去写一个爬虫不划算。而且我的程序其实是有爬虫的部分的,于是就直接开始吧。

 去到LiveRe的后台(Insight),修改查询的起止时间,囊括完所有的评论。下图顶部区域有个开始使用LiveRe的时间。把起始时间设到它之前。

img

 之后我们就得到了一个列表,每页有10条评论。

第二步

 去把我写的代码弄下来:comment-migration-from-livere-to-disqus - Github,Clone或者下载Zip。

第三步

 接下来就是把这所有的评论扒下来了。如果对爬虫熟悉的话可能可以写个脚本批量弄下来,但是我这方面经验不多,主要是评论也不多,所以就手动搞定了。

 在Chrome里面(别的浏览器看情况)在Table上面右键,选Inspect,打开DevTools。

img

 在Table元素上面右键,Copy Element。

 去到代码对应的文件,里面有一个「html_table」文件夹(里面有个示例「table_1.html」)。新建一个HTML文件,把复制的Element粘进去。注意,每个块都是 <table> 开始, </table> 结束。

 重复上述过程下载完所有的Table。可以每10条评论一个文件,也可以所有评论放到一个文件里面。

第四步

 打开 migration_main.py ,把最下面的 function_switch 改成1。

python migration_main.py

 里面有个简单的状态机处理HTML文件,把关键的field提取出来,然后存到一个 .json 文件里面。每条评论对应json的一个Element。

 弄完以后打开 livere_comments.json 检查里面有没有问题,粗略看看就好了。

第五步

 把 migration_main.pyfunction_switch 改成2。

 再跑一次就可以得到用于导入的XML文件了 disqus_import.xml 。打开文件检查一下。目录里有个 disqus_official_example.xml ,可以对比一下整体有没有异常。

 我在每条评论前面都加上了标记「【LiveRe】」,不喜欢的话可以在这一行删掉。

第六步

 去Disqus后台(https://disqus.com/admin/)-=> Moderate Comments -=> (左侧)Import。建议先建一个Dev站点用来测试,无误后再导入主站点。

img

 选WordPress那个,上传生成的 disqus_import.xml 就好了。

已知问题

End

 以上就是我弄的导出LiveRe导入Disqus的流程了。可能也是个小众需求,希望有帮助。如果不好使或者有问题欢迎留言。

LanternD
LanternD_Logo






订阅

RSS订阅 微信公众号

文以类聚

更多『hitech』分类的文章