可以自动发帖和手动发帖,需要 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()