Typora-发布文章到博客园
发布文件到博客园,需要先对博客园进行设置:
进入 帐户中心, 点击 博客设置
滑动滚动条到最底部,点击 其它设置,开启"允许 MetaWeblog 博客客户端访问":
注意上面的 MetaWeblog
访问地址: https://rpc.cnblogs.com/metaweblog/yongdaimi
, 可以先记录下来,这个我们后面会用到。
注意:看清自己的地址,不要把我的地址直接拷过去。
2. 准备上传脚本
cnblogsImage.py
import xmlrpc.client
import ssl
import os
import json
import sys
ssl._create_default_https_context = ssl._create_unverified_context
rootPath = os.path.abspath(os.path.dirname(__file__))
with open(os.path.join(rootPath,"cnblogs.json"),"rb") as f:
config = json.loads(f.read())
def uploadImage(images):
for image in images:
with open(image,"rb") as f:
imageData = f.read()
baseName = os.path.basename(image)
suffix = baseName.split(".")[-1]
file = dict(
bits = imageData,
name = baseName,
type = f"image/{suffix}"
)
proxy = xmlrpc.client.ServerProxy(config["url"])
s = proxy.metaWeblog.newMediaObject('', config['username'], config['password'],file)
print(s["url"])
if __name__ == '__main__':
uploadImage(sys.argv[1:])
拷贝上述代码到一个单独的python文件,将文件重命名为: cnblogsImage.py
cnblogsArticle.py
import xmlrpc.client
import ssl
import os
import json
import sys
ssl._create_default_https_context = ssl._create_unverified_context
rootPath = os.path.abspath(os.path.dirname(__file__))
with open(os.path.join(rootPath,"cnblogs.json"),"rb") as f:
config = json.loads(f.read())
def uploadArticle(articles):
for article in articles:
with open(article,"r",encoding="utf8") as f:
data = f.read()
title = os.path.basename(article)[:-3]
post = dict(
dateCreated = xmlrpc.client.DateTime(),
description = data,
title = title,
categories = ['[Markdown]'],
)
proxy = xmlrpc.client.ServerProxy(config["url"])
s = proxy.metaWeblog.newPost('', config['username'], config['password'],post,True)
# 输出文章连接
userName = config["url"].split("/")[-1]
print(f"https://www.cnblogs.com/{userName}/p/{s}.html")
if __name__ == '__main__':
uploadArticle(sys.argv[1:])
拷贝上述代码到一个单独的python文件,将文件重命名为: cnblogsArticle.py
cnblogs.json
{
"url": "https://rpc.cnblogs.com/metaweblog/yongdaimi",
"username": "zhangsan",
"password": "123456"
}
拷贝上述代码到一个单独的json文件,将文件重命名为: cnblogs.json, 接着:
- 修改url的内容为之前保存的
MetaWeblog
访问地址; - 将username修改为你的博客园的用户名;
- 将password修改为你的博客园的密码;
Original: https://www.cnblogs.com/yongdaimi/p/16386543.html
Author: 夜行过客
Title: Typora-发布文章到博客园