微慑信息网

python直接操作wordpress的模块:python-wordpress-xmlrpc

安装

python -m pip install python-wordpress-xmlrpc

使用:

from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import GetPosts, NewPost
from wordpress_xmlrpc.methods.users import GetUserInfo

#登录
wp = Client('http://mysite.wordpress.com/xmlrpc.php', 'username', 'password')
#获取最新发布的10条信息标题:使用for循环打印
wp.call(GetPosts())
[<WordPressPost: hello-world (id=1)>]
#获取用户信息
wp.call(GetUserInfo())

#发布
post = WordPressPost()
post.title = 'My new title'
post.content = 'This is the body of my new post.'
post.terms_names = {
   'post_tag': ['test', 'firstpost'],
   'category': ['Introductions', 'Tests']
 }
wp.call(NewPost(post))

效果图:

成功入库:

遇到的问题:

(1)目标站采用markdown,需要将格式进行html转换:

markdown格式转html

(2)采集下载目标站图片需要判断<img>标签中src是源站还是第三方站

(3)入库html代码中img的src属性地址,与下载图片路径配套

(3)python-wordpress-xmlrpc模块可以传递标签,本想通过分词分析内容及标题,但始终麻烦,所幸wp有一款插件支持在文章入库时自动获取标签,省去一大麻烦

post.terms_names = {
‘post_tag’: tags,
‘category’: [category]
}

(4)在linux下,报错:

AttributeError: ‘module’ object has no attribute ‘_create_unverified_context

原先python中为:

_create_unverified_https_context = ssl._create_unverified_context

修改为如下后正常:

try:
    _create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
    pass
else:
    ssl._create_default_https_context = _create_unverified_https_context

(5)linux下记得安装pillow模块

pip intsall pillow

 


注意:

wordpress开启xmlrpc模块存在一定安全隐患,如暴力破解、SSRF,参考https://blog.csdn.net/u012206617/article/details/109002948

(https://github.com/FireFart/WordpressPingbackPortScanner)

开启xmlrpx模块,可能被恶意Ddos导致内存使用增高,影响站点使用,解决:

1.屏蔽 XML-RPC (pingback) 的功能,add_filter(‘xmlrpc_enabled’, ‘__return_false’);

2.通过.htaccess屏蔽xmlrpc.php文件的访问;

3.修改.htaccess文件,如果有用户访问xmlrpc.php文件,让其跳转到其他不存在的页面,降低自身网站的负担。

4.修改xmlrpx文件名;

修改文件名可保证该功能的使用,又避免了以上问题,除非又被人扫描到了。。。

 

拓展阅读(点评/知识):

参考:https://python-wordpress-xmlrpc.readthedocs.io/en/latest/overview.html

本文标题:python直接操作wordpress的模块:python-wordpress-xmlrpc
本文链接:
(转载请附上本文链接)
http://vulsee.com/archives/vulsee_2021/0119_13534.html
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » python直接操作wordpress的模块:python-wordpress-xmlrpc
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

微慑信息网 专注工匠精神

访问我们联系我们