博客园自动化之过程调研
前言
本文记录我的《自动化发布文章到博客园》过程中的调研,文中提到的代码和软件我都有试用,最终我的解决方案是自己编写python脚本进行自动化发布文章。
我的代码
我自己编写自动发布python代码,放在我的github上,点我下载。
一键自动化发表文章
一键发到博客园
一键发到知乎
博客园限制项
提示信息:post error:<Fault 500: '30秒内只能发布1篇博文,请稍候发布,联系邮箱:contact@cnblogs.com'>
博客园站点限制每30秒只能发布一次,建议阀值设置在60s
getRecentPost接口最大只能获取最近100篇发布的文章
cnblogs_automatic_blog_uploading
本脚本用python3.+
编写,请配置好运行环境。
运行cnblogs.py
:
- 程序有几个可选参数(如无特殊需求不要添加参数)。
cnblog.py publish
发布正式目录下所有md为正式文章cnblog.py unpublished
发布到草稿目录下所有md文件到草稿箱cnblog.py download
下载文章
- 第一次运行
cnblogs.py
需要设置博客信息,会生成一个blog_config.json
文件(文件内有博客园账号密码,请勿提交到git)。 - 此后每次运行程序时,
./article_publish/*.md
将被上传到博客并发布;./article_draft/*.md
将被上传到博客,但不发布(并标注分类“unpublished”),发布完成后目录下的文件将被删除,所以建议保存源md文件。文章均以文件名为题,且不发布的文章。如果博客中已经存在同名文章,将替换其内容!
原地址:https://github.com/nickchen121/cnblogs_automatic_blog_uploading
存在问题
目录下的文章发布完成之后,删除文件会出现提示:文件占用中无法删除,导致无法继续发布下一篇
获取最近发布文章大于9就会出现错误提示,经测试博客园正常是可以获取100篇最近文章的。
这是我的博客中某一篇文章在解析xml时出现错误
PS. 以上问题通过自己修改脚本已解决
写作助手(BlogHelper)
缺点:对于博客中已经存在的文章不是更新,而是会发篇一新的
它提供的是界面化的操作,对于我的需求还是更倾向于命令行可以批量操作
自定义脚本
cnblogs-post
https://github.com/DeppWang/cnblogs-post
使用ruby编写的
老赵的F#经验
用vscode写博客和发布
ArtiPub
源代码使用js开发,是一整套的多博客自动发布工具,可发布到多个博客。
需要安装MongoDB 数据库,分前后端
稍微有些复杂
小书匠
文档:http://soft.xiaoshujiang.com/docs/
2017年使用的时候,印象中提供本地客户端版本,现在是云端版本
用C#开发一键发布到博客园
自己开发一个一键同步文章到博客园,方便自己的需求,主要原因还是对于python不熟悉,当调试或修改他人脚本不方便,从github查找发现这几个已有的C#项目:
EasyBlogImageForTypora
https://github.com/xiajingren/EasyBlogImageForTypora
使用Typora写作,图片即时同步到博客网站,无需第三方图床,写完可直接粘贴。支持网络图片上传。
本程序基于.net core 3.1开发,支持在win-x64,mac osx-x64系统运行,免安装。linux暂时不考虑,如果有需要再说。
程序的上传服务是使用MetaWebBlog API,MetaWebBlog API(MWA)是一个Blog程序的接口标准,理论上支持MetaWebBlog API标准的博客网站,都可以使用本程序来上传图片,你只需要在程序中配置一下你的博客基本信息即可。目前我自己测试通过的有博客园、开源中国(oschina);CSDN的接口貌似不能用了。
BlogSyner
https://github.com/AntBean/BlogSyner
2013年的一份老代码用于博客同步
OpenWrite
普通用户文章扩散次数10次/月,开会员19.9元/月
在线编写markdown文章同步到多个平台,包括博客园,知乎,CSDN,微信公众号,头条号,类似于以前接SDK时的棱镜?
html转md
html_to_md 博客园html自动转成markdown格式