python3实现博客园文章上传与更新
1. Python3
本脚本基于python3环境运行,没有安装python3的,请自行安装。
参考python3安装教程:https://blog.csdn.net/wangshiqi1234/article/details/127613363
2. Typora
本博客文章在Typora配置发布,没有安装Typora的,请自行安装。
Typora1.4.8破解版:https://wwp.lanzouw.com/iDkjR0gg6sna
3. Pycnblog
实现功能:
- 拖拉式发布文章
- 更新文章
- 保存本地和网络的md文件
1.打开cmd,输入
pip install pyyaml
2.下载文件并解压:https://wwp.lanzouw.com/ipZhW0gg3aub
3.将config.yaml文件名改为config.txt,点击确认,直接打开
4.登录博客园后台,点击“设置”,再点击“其他设置”,打勾√允许 MetaWeblog 博客客户端访问
5.回到config.txt中,分别设置blog_url、blog_id、username、password、gen_network_file和publish,其他默认。
blog_url: https://rpc.cnblogs.com/metaweblog/fby698
blog_id: fby698
username: fbyzzz
password: 2C0FB5EADD....
#是否生成图片替换后本地文件,默认False关闭
gen_network_file: True
#上传后是否发布,默认未发布,设置True为发布
publish: True
#图片自定义显示格式,默认不设置
#img_format: typora 还原typora图片样式,居中,设置zoom,上传后无需再手动调整图片大小
img_format: ""
6.更改完成保存后,把config.txt改回config.yaml(千万别忘记了)
7.鼠标双击运行“cnblog_markdown.cmd”,把要发布的md.文件拖到cmd窗口,按一下回车,见证奇迹
注意事项:
1.windows10不能右击允许cnblog_markdown.cmd,不然会拖拉不了文件
2.md内容格式不要错乱,否则程序无法解析markdown的内容,报无法找到文件路径的错误
3.如果报了找到文件路径的错误,那么你把md内容复制到文本中去,再复制到md文件中,检查情况
4.没有装 pyyaml或者配置config.yaml也会报错,安装教程配置应该没有问题。
参考:https://www.cnblogs.com/df888/p/11826480.html
4. Cnblogs
实现功能:
- 上传图片
- 发布文章
1.下载 https://wwp.lanzouw.com/iQlTU0gg36fc 并解压文件
2.鼠标右键,文本打开cnblogs.json并配置
{
"url": "MetaWeblog访问地址",
"username": "MetaWeblog登录名",
"password": "MetaWeblog访问令牌"
}
2.打开Typora,点击“文件”,再点击“偏好设置”,再点击“图像”,设置如下:
python 你的cnblogsImage.py所在的绝对路径
3.点击导出,点击+
4.从模板添加,选择自定义,添加
5.自定义名称,这里我定义MyBlogs
6.配置命令
python D:\cnblogupload\cnblogsArticle.py ${currentPath}
7.关闭,完成配置
8.使用方式:写好文章后,点击《另存为》,名为:文章名-online,点击《格式》,点击《图像》,点击《上传所有本地图片》,
点击《导出》,最后点击《MyBlogs》,即发布md文章到博客园中去,同时保存了一份原文件。
参考:https://wshuo.blog.csdn.net/article/details/121747158
总结:cnblogs方式不支持更新文章的,如果源文件更新内容的话,是没有办法更新文章内容的,所以我推荐,两种方式搭配使用,
cnblogs负责发布文章,pycnblog负责更新文章。不过我推荐第一种方式,它比较简单,但是确保你的md内容格式不要乱,否则会报找不到文件路径,如果pycnblog发布不了,你也不想改md内容格式,你可以使用cnblogs发布文章。
5. Md-ImgLocalize
功能:解析md文件在线的图片到本地目录,并替换成本地图片路径。
1.下载 https://wwp.lanzouw.com/isTOp0gj5jni 并解压
2.cmd,安装aiohttp(aiohttp安装失败,记得升级一下pip)
pip install aiohttp
3.cmd运行:python main.py --md_path="md文件所在的目录,注意是目录不是md文件的绝对路径"
注意事项:markdwon文件内容格式不能错乱,否则也会报找不到文件路径错误,最好是单个md文件解析,多个文件或者图片相同出错。