wordpress发帖机器
确认python3环境
python3 --version输出效果
Python 3.6.9安装pip3
sudo apt-get install python3-pip确认pip3版本
pip3 --version输出效果
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)安装request
pip3 install request安装wordpress-xmlrpc
pip3 install python-wordpress-xmlrpc编写程序测试wordpress-xmlrpc正常服务
vi xmlrpctest.py键入i,进入编辑模式
import re
import requests
import datetime
import sys
import json
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods import posts
client = Client('我的wordpress地址/xmlrpc.php', '用户名', '密码')
post = WordPressPost()
post.title = "test"
post.content = "test"
post.id = client.call(posts.NewPost(post))
post.post_status = 'publish'
client.call(posts.EditPost(post.id, post))
print("test" + ' has been published')esc退出编辑模式,键入:wq保存
执行测试 python3 xmlrpctest.py
输出效果 test has been published
到自己的wordpress上确认发帖结果,标题test,正文test
反复访问目标网站,找出数据流后编写python脚本
vi item.py键入i,进入编辑模式
import re
import requests
import datetime
import sys
import json
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods import posts
#模拟浏览器
head = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36"
}
# 登录网页,获取网页源代码
s = requests.session()
#获取items
getitems_url = "一个网址"
head0 = {
"accept":"application/json",
"content-type":"application/json",
"x-api-source":"pc",
"x-csrftoken":"一个token",
"x-requested-with":"XMLHttpRequest",
"x-shopee-language":"en",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36",
"content-length": "一个长度",
"cookie": '一个cookie',
"origin": "https://一个网站",
"referer": "https://一个网站"
}
#print(lst)
#lst为另一次模拟访问获取到的主键List,这次模拟的代码被省略
ni=0
nj=0
nk=0
nl=len(lst)
#每次最多循环20次,无理由预防死循环
while ni<=20 and nl>0:
ll=[]
#每次循环获取6个数据
while nj<=1 and nk<nl and len(ll)<6:
ll.append(lst[nk]['itemid'])
nk+=1
nl+=1
payload = '{一个payload}'
ress=s.post(getitems_url, headers=head0, data=payload)
res=ress.content
#获取数据后向wordpress发帖
client = Client('我的wordpress地址/xmlrpc.php', 'wordpress用户名', 'wordpress密码')
post = WordPressPost()
post.title = str(ll)
post.content = str(res)
post.id = client.call(posts.NewPost(post))
post.post_status = 'publish'
client.call(posts.EditPost(post.id, post))
#每次发帖输出执行结果
print(str(ll) + ' has been published')esc退出编辑模式,,键入:wq保存
执行测试 python3 item.py