In the process of using WordPress to run my personal blog, sometimes I want to be able to organize all the articles I have written. Of course, the method I want to use is of course other than manually look slowly, such as obtaining WordPress-related information through some APIs.
After researching, I found several different APIs to use, and finally I chose the python-wordpress-xmlrpc package.
If you use this package in the first time, you need to install it:
pip3 install python-wordpress-xmlrpc
And our sample code:
# -*- coding: utf-8 -*-
import json
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import NewPost
# Login
with open('account.json', 'r', encoding='utf-8') as f:
account = json.load(f)
id = account['user']
password = account['password']
url = 'http://clay-atlas.com/xmlrpc.php'
which = 'draft'
wp = Client(url, id, password)
post = WordPressPost()
post.post_status = which
post.title = 'API TEST'
post.content = 'API TEST CONTENT'
post.excerpt = 'API TEST EXCERPT'
post.terms_names = {
"post_tag": ['Python'],
"category": ['Python']
}
wp.call(NewPost(post))
# -*- coding: utf-8 -*-
import json
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import NewPost
# Login
with open('account.json', 'r', encoding='utf-8') as f:
account = json.load(f)
id = account['user']
password = account['password']
url = 'http://clay-atlas.com/xmlrpc.php'
which = 'draft'
wp = Client(url, id, password)
post = WordPressPost()
post.post_status = which
post.title = 'API TEST'
post.content = 'API TEST CONTENT'
post.excerpt = 'API TEST EXCERPT'
post.terms_names = {
"post_tag": ['Python'],
"category": ['Python']
}
wp.call(NewPost(post))
Output:
http://my website .com/xmlrpc.php
Of course I filled in my website to demo, and you should change it to your own.
And the article type I published is “draft”. If you don’t want to post a draft, but publish directly, you should use “publish” instead of “draft”.