前言
本文記錄我的《自動化發布文章到博客園》過程中的調研,文中提到的代碼和軟件我都有試用,最終我的解決方案是自己編寫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格式