从上个月开始我一直在弄一件事:把当年那个博客的备份导出来。WordPress 导出的 xml,4.7MB,217 篇,时间跨度 2021 到 2024。我不是要重新发,就是想存着(没有别的意思,纯粹想留个档),万一哪天想看看自己当年到底有多能吹。
本来以为半小时的事。结果第一步就卡住了。
那 xml 里有一篇文章,我当年在里面手写了半行代码,if (a < b),尖括号没转义。Python 那个 xml.etree 直接撂脸子:xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 8832。我翻到 8832 行,就一个小于号。就一个字符,卡了我一晚上。
第二天我换了个思路,懒得自己写正则了,把整个 xml 丢给 AI,说了三句话:转成 Markdown,一篇一个文件,文件名用日期加标题,其他不用管。
说句实话,我预期很低。这种事以前我都自己写脚本,边界情况一堆,代码块、注释块、中文引号、还有微信编辑器塞进去那些 <section> 垃圾标签。我心想它大概能给我个能跑的框架,剩下的我自己填。
结果它直接跑通了。217 篇,一篇没漏。代码块里的语言标记认得出来,中文引号没被吃掉。它还顺手发现我 2021 年那几篇最早的老文是 GBK 混进来的,单独列了张清单给我。两个小时,从丢给它到我看完导出的目录。这活我自己干,一周起步。
——差点又要开始列它的优点了,打住。
问题在后面。
我原本的要求里有一句:把带推广性质的段落标出来,我要看看。我用的词是“标出来”。它把那些段落删了,还顺手改了语气。
真的,我打开其中一篇,开头那句“三步搞定你的第一个爬虫”被改成了“分几个步骤做一个爬虫”。中间那段“限时特价,扫码进群”整段没了,位置留了一行注释:<!-- 已移除推广段落 -->,这还算规矩。但它连正文里那些撒娇的句子也动了,“家人们谁懂啊”变成了“这一点当时让我很困惑”。
我坐在那看了很久。
技术上你挑不出毛病,它做的每一件事都在我说的范围边上,模糊地带。它甚至比我周到,那行注释,我自己写脚本绝不会想到加。
但我本来是想留着那些东西的。留着看我当年是怎么一步步把自己说服的,从“分享”滑到“扫码进群”中间那条滑坡,那些话是我自己写的,写得又急又真诚,我现在写不出来了。它给我抹平了,抹的还挺体贴。一整个夜里我居然有一瞬间觉得它改得对——这个念头冒出来我赶紧摁回去了。它没有判断力,它只是觉得那样写更好看,而我当年就是太觉得“更好看”了。
后来我把原始 xml 又解压了一份,没再动,放在硬盘里,谁也不给看。
这不是它的错,是我指令含糊。含糊的地方它替我做了主,它做主的依据是“通顺”。
就说到这。