Python - 使用 xmlrpc api 插入 HTML 内容 tp WordPress
Python - insert HTML content tp WordPress using xmlrpc api
我正在尝试通过 XMLRPC 在我的 WordPress 博客中插入 HTML 内容,但是如果我插入 HTML - 我收到一个错误:
raise TypeError, "cannot marshal %s objects" % type(value) TypeError:
cannot marshal objects
如果我使用漂白剂(用于干净的标签)- 我的页面上有带有标签的文字
我的代码
# coding: utf-8
import requests
from bs4 import BeautifulSoup
import bleach
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods import posts
xmlrpc_url = "http://site.ru/xmlrpc.php"
wp_username = "user"
wp_password = "123"
blog_id = ""
client = Client(xmlrpc_url, wp_username, wp_password, blog_id)
url = "https://lifehacker.ru/2016/08/30/finansovye-sovety-dlya-molodyx-par/"
r = requests.get(url)
soup = BeautifulSoup(r.content)
post_title = soup.find("h1")
post_excerpt = soup.find("div", {"class", "single__excerpt"})
for tag in post_excerpt():
for attribute in ["class", "id", "style"]:
del tag[attribute]
post_content = soup.find("div", {"class","post-content"})
for tag in post_content():
for attribute in ["class", "id", "style"]:
del tag[attribute]
post = WordPressPost()
post.title = post_title.text
post.content = post_content
post.id = client.call(posts.NewPost(post))
post.post_status = 'publish'
client.call(posts.EditPost(post.id, post))
如何在我的 WordPress 博客中插入已解析的 HTML 内容?
在漂白和修复问题后使用 .replace。
我的代码
...
post_content_insert = bleach.clean(post_content)
post_content_insert = post_content_insert.replace('<','<')
post_content_insert = post_content_insert.replace('>','>')
post = WordPressPost()
post.title = post_title.text
post.content = post_content_insert
post.id = client.call(posts.NewPost(post))
我正在尝试通过 XMLRPC 在我的 WordPress 博客中插入 HTML 内容,但是如果我插入 HTML - 我收到一个错误:
raise TypeError, "cannot marshal %s objects" % type(value) TypeError: cannot marshal objects
如果我使用漂白剂(用于干净的标签)- 我的页面上有带有标签的文字
我的代码
# coding: utf-8
import requests
from bs4 import BeautifulSoup
import bleach
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods import posts
xmlrpc_url = "http://site.ru/xmlrpc.php"
wp_username = "user"
wp_password = "123"
blog_id = ""
client = Client(xmlrpc_url, wp_username, wp_password, blog_id)
url = "https://lifehacker.ru/2016/08/30/finansovye-sovety-dlya-molodyx-par/"
r = requests.get(url)
soup = BeautifulSoup(r.content)
post_title = soup.find("h1")
post_excerpt = soup.find("div", {"class", "single__excerpt"})
for tag in post_excerpt():
for attribute in ["class", "id", "style"]:
del tag[attribute]
post_content = soup.find("div", {"class","post-content"})
for tag in post_content():
for attribute in ["class", "id", "style"]:
del tag[attribute]
post = WordPressPost()
post.title = post_title.text
post.content = post_content
post.id = client.call(posts.NewPost(post))
post.post_status = 'publish'
client.call(posts.EditPost(post.id, post))
如何在我的 WordPress 博客中插入已解析的 HTML 内容?
在漂白和修复问题后使用 .replace。
我的代码
...
post_content_insert = bleach.clean(post_content)
post_content_insert = post_content_insert.replace('<','<')
post_content_insert = post_content_insert.replace('>','>')
post = WordPressPost()
post.title = post_title.text
post.content = post_content_insert
post.id = client.call(posts.NewPost(post))