共计 1810 个字符,预计需要花费 5 分钟才能阅读完成。
# -*- coding: utf-8 -*
import requests
import time #不延时可以去掉
import re
import os
import sys
import string
n = 0 #循环次数
a = 9 #计数器
b = 0
tiloun = 88 #中奖楼层
tilouid = 8888 #踢楼帖子 ID
Read_nowlou = 0 #当前楼层
starttime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
nowtime = 0
msg="这里是"# 踢楼恢复内容
username = '论坛账户' # 论坛账户
password = '论坛密码' # 论坛密码
login_url = 'https://hostloc.com/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1' # post 登录接口
request = requests.post(login_url, {"username": username, 'password': password}) # 登录一次,获取 request
cookie = request.cookies # 获取 request 里的 cookie
user_info = requests.get('https://hostloc.com/thread-%s-1-1.html'%(tilouid), cookies=cookie).text #
formhash = re.search(r'formhash=\S{8}', user_info).group(0)[9:] # 积分中心使用 re 获取
while n < 1 :
# if sys.platform=="win32":
# os.system("cls")
# elif sys.platform=="linux":
# os.system("clear")
try:
user_info = requests.get('https://hostloc.com/thread-%s-1-1.html'%(tilouid), cookies=cookie).text
Read_nowlou = int(re.search(r'xi1">(\d+).*xi1">(\d+)</span>', user_info).group(2)) # 当前楼层
# print("%s\r\n%s\r\n%s\r\n"%(formhash,msg,Read_nowlou))
if Read_nowlou == tiloun-2:
posttime = int(time.time())
re_url = ('https://hostloc.com/forum.php?mod=post&action=reply&fid=45&tid=%d&replysubmit=yes&infloat=yes&handlekey=fastpost&inajax=1'%(tilouid)) # post 登录接口
request = requests.post(re_url, {"formhash":formhash, "message":msg,"usesig":1,"subject":"","posttime":posttime}, cookies=cookie).text
print("跟贴成功")
n=1
else:
print("现在有 %s 楼 |"%(Read_nowlou+1))
print (time.strftime("%Y-%m-%d %H:%M:%S------------------------------", time.localtime()))
if tiloun-Read_nowlou>5:
time.sleep(3)
elif tiloun-Read_nowlou>4:
time.sleep(0.01)
elif tiloun-Read_nowlou==3:
b=0
else:
n=1
except:
try:
print ("出错了,按 Ctrl+ C 停止脚本,2s 后忽略错误继续执行.")
time.sleep(1)
print ("出错了,按 Ctrl+ C 停止脚本,1s 后忽略错误继续执行.")
time.sleep(1)
print ("出错了,按 Ctrl+ C 停止脚本,0s 后忽略错误继续执行.")
except KeyboardInterrupt:
n=1
print ("停止脚本执行.")
正文完