博客园官方有备份功能,但是下载的文件是一个xml,不易于阅读及分离文章
运行前需要配置config.ini
:
config.ini.example
文件名为config.ini
.Cnblogs.AspNetCore.Cookies
的值到config.ini
中开启离线后,随笔中的图片链接会被替换自动为本地图片的链接
pip install httpx
配置好程序并安装好httpx依赖后,命令行运行:
python main.py
会看到打印的输出:
平时科学上网的话运行时需关闭全局代理,否则http连接错误
下载的文件名为随笔标题,分类和标题中的特殊字符\/:*?"<>|
会被空格代替,文件编码为UTF-8
程序会区分你的随笔是否是公开的,是否是草稿状态,并在文件名后追加[非公开]
或[草稿]
程序只能在Windows下运行,未做其他系统适配
如果你在博客园中删除了一篇文章,程序不会删除相应的本地文章
.CnblogsDownloaderFlag.json
中保存着上次运行程序的时间,如果博客园中的文章未更新,那么不会反复下载
一旦程序决定要下载某篇随笔,那么它会覆盖此随笔及其引用的图片
代码块中的图片也会被下载,只要它的链接是有效的,比如你的随笔中有下列内容
假如这是你的随笔原稿
```
<img src="https://github.com/Charles94jp/cnblogs-blogger-downloader/blob/master/img/logo.png?raw=true">
```
那么上面代码块里的图片也会被下载
博客园公开的api文档:https://api.cnblogs.com/help
但显然不够用,而且要申请api权限,于是自己根据网络通信总结了几个重要的api的文档:cnblogs-apiDoc
项目目录结构
.
├── docs 项目API文档,GitHub Pages
├── img readme文档图片
├── lib
│ ├── cnblogs-apiDoc.md 博客园接口文档
│ └── cnblogs_api.py 博客园http接口库
├── sphinx 构建项目API文档
│ ├── source
│ │ ├── _static
│ │ ├── _templates
│ │ ├── lib
│ │ ├── cnblogs_downloader.rst
│ │ ├── conf.py sphinx配置文件
│ │ ├── favicon.ico
│ │ ├── index.rst
│ │ └── main.rst
│ ├── Makefile
│ └── make.bat
├── LICENSE 项目开源许可证
├── cnblogs_downloader.py 程序主要逻辑实现
├── config.ini.example 配置文件示例
├── main.py 程序入口
└── readme.md 自述文件
本项目API文档:Document
根据代码文档注释构建API文档:
pip install sphinx sphinx-rtd-theme
sphinx-build.exe -b html .\sphinx\source\ docs
注意docs/lib/cnblogs-apiDoc.html
typora.css
和docs/.nojekyll
是手动添加进去的
本项目的开源协议为:GPL-3.0 License
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。