博客园自动化之过程调研

前言

本文记录我的《自动化发布文章到博客园》过程中的调研,文中提到的代码和软件我都有试用,最终我的解决方案是自己编写python脚本进行自动化发布文章。

我的代码

我自己编写自动发布python代码,放在我的github上,点我下载

一键自动化发表文章

一键发到博客园

博客园自动化之XML-RPC

博客园自动化之MetaWeblog

博客园自动化之过程调研

博客园自动化之图床选择

一键发到知乎

自动化发布文章到知乎的探索

知乎vscode插件修改和重新编译

博客园限制项

提示信息:post error:<Fault 500: '30秒内只能发布1篇博文,请稍候发布,联系邮箱:contact@cnblogs.com'>

博客园站点限制每30秒只能发布一次,建议阀值设置在60s

getRecentPost接口最大只能获取最近100篇发布的文章

cnblogs_automatic_blog_uploading

本脚本用python3.+编写,请配置好运行环境。

运行cnblogs.py

  1. 程序有几个可选参数(如无特殊需求不要添加参数)。
    • cnblog.py publish 发布正式目录下所有md为正式文章
    • cnblog.py unpublished 发布到草稿目录下所有md文件到草稿箱
    • cnblog.py download 下载文章
  2. 第一次运行cnblogs.py需要设置博客信息,会生成一个blog_config.json文件(文件内有博客园账号密码,请勿提交到git)。
  3. 此后每次运行程序时,./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编写的

https://github.com/personball/personball.github.io/blob/068b144f5ed08999f2b6323b3ade62bd429574cc/_posts/2017-08-31-how-to-sync-post-to-cnblogs-with-ruby.md

老赵的F#经验

一次批量修改博客文章的经验(上):准备工作

用vscode写博客和发布

用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

官网:https://openwrite.cn/

普通用户文章扩散次数10次/月,开会员19.9元/月

在线编写markdown文章同步到多个平台,包括博客园,知乎,CSDN,微信公众号,头条号,类似于以前接SDK时的棱镜?

html转md

html_to_md 博客园html自动转成markdown格式

原理《使用python转换markdown to html

posted @ 2021-09-23 09:54  赵青青  阅读(488)  评论(0编辑  收藏  举报