20260211 - 将 typecho 的博客文章下载至本地 - assets.zip

将 typecho 的博客文章下载至本地

如题,这是本人的亲身经历

不废话了,直接开车

走人

正文

下载 typecho_contents 数据库为 SQL 文件

typecho_contents 主要包含一些文章内容、附件等等

所以我们需要下载他

2026-01-21-23-33-11-image.png

如图是使用 phpmyadmin 来导出 typecho_contents 中的记录

导出后,你会得到一个 SQL 文件

你成功了

删除你的 SQL 文件没用的东西

首先,手动打开你的 SQL 文件,找到这个并把下面这部分的内容给复制出来

--  
-- 转存表中的数据 `typecho_contents`  
--  
INSERT INTO `typecho_contents` (`cid`, `title`, `slug`, `created`, `modified`, `text`, `order`, `authorId`, `template`, `type`, `status`, `password`, `commentsNum`, `allowComment`, `allowPing`, `allowFeed`, `parent`, `views`, `stars`) VALUES  

复制这里的东西  

--  
-- 转储表的索引  
--

单独把他保存到一个 txt 文件中

然后打开 ./assets/0_clear_nottidy.py,介绍一下,清理 png jpg pdf jpeg 在第二字段所包含的行,其他保留

你需要手动填写两个内容:

  • input_file_path 设置为你的 txt 文件路径,注意一定要有 R,是用来转义的,要用双引号包裹路径
  • output_file_path 设置为你的导出后 txt 文件路径,就是处理后的文件路径,同上

然后使用 python 直接运行,即可完成操作

恭喜你,删除完成,你可以手动浏览一下

从 SQL 文件中分类保存文章至文件夹

打开 ./assets/1_download_md.py,还是简单介绍一下,读取文章名称和时间戳和文章内容,在你所指定的目录下,新建 YYYYMMDD - title 的文件夹,即时间戳对应的年月日加上对应的文章名称,然后在文件夹里面新建 title.md 作为文章的主内容

你需要手动填写:

  • INPUT_FILE:上一次导出的 txt 文件路径,同上

然后还是使用 python 直接运行,即可完成操作

警告:导出后的文件将被保存在 C:/Users/<USER_NAME>/

你可以手动观察一下,你会发现导出的 md 特别变态,所以接下来,我们就要处理换行符的问题 + 图片资源

保存图像附件和处理换行

打开 ./assets/2_make_image_rn_to_n.py,还是简单介绍一下,从 md 里面读取 ![]() 的格式,将 () 下载保存到当前文件夹的 assets 目录里头,然后将 \\r\\n 替换为 \n(不理解这句话内容的自行上网搜索)

你需要手动填写:

  • TARGET_DIR:设置上一次导出文章目录的目录(?)
  • download_url:但是你只需要修改我的 http://www.fmcraft.top 部分,修改为你的下载域名,不要加斜杠!!!

然后,你懂的

然后,你就会发现,换行好了,图片资源也被正确保存在了对应的 assets 目录下

你好牛逼啊!!!

处理开头的小插曲

打开 ./assets/3_kill_markdown.py,还是简单减少一下,删除 <!--markdown--> ,没了

你需要手动填写:

  • TARGET_DIR:你上一次导出文章的的目录的目录(?)

然后,你懂的

然后,你完成了

处理完成

推荐一个 Markdown 编辑器 —— $\text{MarkText}$

最后修改:2026 年 05 月 26 日
如果觉得我的文章对你有用,请随意赞赏