【工具推荐】下载你在博客园的文章原稿


推荐一下博主自己写的python程序,以md格式下载自己在博客园的随笔原稿,保留分类,标记草稿和非公开的稿件。支持离线图片

区别于其它的爬虫是以访客身份爬取文章阅读页面的html,这个下载器程序是以作者的身份获取原稿内容的

希望能帮助大家拿回自己的数据

这是GitHub项目地址:

Cnblogs Blogger Downloader

以下是readme


Usage

Configuration

运行前需要进行配置:

  1. 打开浏览器登录博客园,登录时勾选"记住我"

  2. 登录后浏览器按F12,找到Cookie,拷贝.Cnblogs.AspNetCore.Cookies的值到main.pyCOOKIE

  3. main.pydl.CnblogsDownloader的第二个参数为下载路径

可选的配置:

将随笔中引用的图片一并离线到随笔的文件夹,需要更改main.py

# 将此行
downloader = dl.CnblogsDownloader(COOKIE, "D:\cnblogs")
# 改为
downloader = dl.CnblogsDownloader(COOKIE, "D:\cnblogs", download_img=True)

md中的链接会自动替换


Dependencies

pip install httpx


Start

配置好程序并安装好httpx依赖后,命令行运行:

python main.py

会看到打印的输出:


Features

下载的文件名为随笔标题,分类和标题中的特殊字符\/:*?"<>|会被空格代替,文件编码为UTF-8

程序会区分你的随笔是否是公开的,是否是草稿状态,并在文件名后追加[非公开][草稿]

程序只能在Windows下运行,未做其他系统适配

如果你在博客园中删除了一篇文章,程序不会删除相应的本地文章

.CnblogsDownloaderFlag.json中保存着上次运行程序的时间,如果博客园中的文章未更新,那么不会反复下载

一旦程序决定要下载某篇随笔,那么它会覆盖此随笔及其引用的图片


For Developer

博客园公开的api文档:https://api.cnblogs.com/help

但显然不够用,而且要申请api权限,于是自己根据网络通信总结了几个重要的api的文档:cnblogs-apiDoc

你可能感兴趣的:(其他校验分享,github,python,程序人生,经验分享)