可以自动发帖和手动发帖,需要 Python3 ,当然如果网站有验证码就不行了,代码仅供学习,请勿恶搞 使用方法,在终端输入 python3 post.py post.py 文件 #!/usr/bin/python3
#coding:UTF-8
import requests
import json
from lxml import etree
class Index:
username = 'admin' # 网站用户名
userpass = '123456' # 网站用户名密码
loginurl = 'http://hy.cn/user/login.html' #登录地址
posturl = 'http://hy.cn/post.html' #发帖地址
poston = True # 自动发帖 True 开启 Fasle 关闭自动发帖
postmax = 10 # 自动发帖最大次数(需要开启自动发帖)
session = requests.Session() # 会话
is_login = False # 登录状态
# 登录操作
def login(self):
if self.is_login == False:
# 进行用户登录
r = self.session.post(self.loginurl,data={
'user' : self.username,
'pass' : self.userpass
}).text
htmlel = etree.HTML(r)
res = htmlel.xpath('//title/text()')[0]
if res.count('登录成功'):
self.is_login = True
else:
print('登录失败,Error:%s' % res[0:5])
# 发帖操作
def post(self):
# 登录用户
self.login()
# 登录后开始发帖
if self.is_login:
if self.poston:
title = '随机标题.'
content = '随机内容'
forum = 2 #分类id
else:
title = input('请输入帖子标题:')
content = input('请输入帖子内容:')
forum = input('请输入分类 ID:')
print('开始提交...')
r = self.session.post(self.posturl,data={
'title' : title,
'content' : content,
'forum' : forum,
'fileid' : '',
'filegold' : '',
'filemess' : '',
'filehide' : '',
'thide' : 0,
'tgold' : '',
}).text
res = json.loads(r)
if res['error']:
print('发帖成功 ID:%s' % res['id'])
else:
print('发帖失败:'+res['info'])
# 入口
def index(self):
# 发帖
print('正在执行%s发帖...' % '自动' if self.poston else '手动')
if self.poston:
sum = 0
while sum < self.postmax:
sum += 1
self.post()
else:
self.post()
# 实例化Index类
x=Index()
# 访问index方法
x.index()
|