为了防止心仪的公众号文章无法查看,今天我把所有存量的布尔费墨答疑文章都做了本地备份,并转载到了博客。从技术上,我是怎么做到的呢?

技术实现

1、获取文章。PC端微信->公众号历史文章列表->浏览器打开

2、格式转化。浏览器(chrome内核)使用简悦插件,进入阅读模式后,动作-> 复制markdown到剪贴板。

3、本地管理。运行py,自动把剪贴板的内容转为md文件,并修改文章标题、metadata,略微完善格式。

改进空间

目前还有改进的空间。第一步可以通过程序从第三方获取最新文章链接,或者直接获取文章内容,第二步可以用系统级自动化操作脚本。

除此之外,一些文章还有错漏之处,比如换行不正常、**显示不对,我准备挨个读第二遍时把排版再优化一次。

改进记录

2022-11-25 微信公众号图片显示

一开始,我备份好的文章图片都可以在本地看,但在博客上都显示 “此图片来自微信公众平台,未经允许不可引用”

这是因为微信图片做了防盗链处理,技术原理是根据HTTP请求中的referrer字段判断来源。解决办法:在博客文章模板的<head>添加

1
<meta name="referrer" content="never">

这样从前端禁用referrer,就可以了。

副作用:可能会影响流量统计的功能。技术力强的话就在模板中写条件,只对符合条件的文章禁用referrer。我暂时没有统计流量,图省事全局禁了。

2023-08 油猴脚本

把原先的py脚本移植成了油猴脚本,简化操作,现在的流程是:

  1. 浏览器打开公众号文章
  2. 进入简悦阅读模式
  3. 点击一键保存,并添加metadata