PT签到助手Python版

分享自用的PT签到助手python代码,解决因种种原因忘记登录站点导致账户封禁问题.

pt.py

  1. # -*- coding:utf-8 -*-  
  2. # Time:2021/04/29 20:29  
  3. # Author:Chiser  
  4.   
  5. import requests  
  6. import json  
  7. import datetime  
  8. import time  
  9.   
  10. def get_page(item):  
  11.     now = datetime.datetime.now()  
  12.     time = '[' + now.strftime("%Y-%m-%d %H:%M:%S") + ']'  
  13.     f = open('run.log', 'a+')  
  14.     try:  
  15.         if 'action' in item.keys():  
  16.             data = {  
  17.                 'action': 'sign_in'  
  18.             }  
  19.             response = requests.post(item['url'], headers=headers, data=data)  
  20.         else:  
  21.             response = requests.get(item['url'], headers=headers)  
  22.         now = datetime.datetime.now()  
  23.         time = '[' + now.strftime("%Y-%m-%d %H:%M:%S") + ']'  
  24.         if response.status_code == 200:  
  25.             response = response.text  
  26.             if '签到成功' in response or '恭喜您' in response:  
  27.                 f.write(time + item['site'] + '签到成功~\n')  
  28.             elif '重复刷新' in response or '重复' in response or '簽到過' in response or '已经打卡' in response:  
  29.                 f.write(time + item['site'] + '你已签到过了~\n')  
  30.             elif '开小差' in response and '已经打卡' not in response:  
  31.                 f.write(time + item['site'] + '签到失败~\n')  
  32.             elif '首页' or '首頁' in response:  
  33.                 f.write(time + item['site'] + '今日已访问~\n')  
  34.         else:  
  35.             f.write(time + item['site'] + '网站无法访问~\n')  
  36.         f.close()  
  37.     except:  
  38.         f.write(time + item['site'] + '网站无法访问~\n')  
  39.         f.close()  
  40.   
  41. if __name__ == '__main__':  
  42.     while True:  
  43.         user_agent = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'  
  44.         json_data = open('site.json', encoding='utf-8')  
  45.         json_data = json.load(json_data)  
  46.         for item in json_data:  
  47.             try:  
  48.                 if item['referer']:  
  49.                     headers = {  
  50.                         'user-agent': user_agent,  
  51.                         'referer': item['referer'],  
  52.                         'cookie': item['cookie']  
  53.                     }  
  54.             except:  
  55.                 headers = {  
  56.                     'user-agent': user_agent,  
  57.                     'cookie': item['cookie']  
  58.                 }  
  59.             get_page(item)  
  60.         time.sleep(43200) #根据需求选择重复执行时间,时间单位为秒  

site.json

  1. [  
  2.   {  
  3.     "site""PTHOME",  
  4.     "url""",  
  5.     "referer""",  
  6.     "cookie"""  
  7.   },  
  8.     {  
  9.     "site""",  
  10.     "url""",  
  11.     "cookie"""  
  12.   }  
  13. ]  

任务部署

部署方式1

1.上传项目文件至服务器.

PT签到助手

2.在宝塔面板软件商店-Python项目管理器 1.9-版本管理中安装Python3.0及以上版本.

3.在项目管理中添加项目.路径选择刚才上传的项目路径;启动文件为项目内的pt.py文件;启动方式为python;勾选是否安装模块依赖及开机启动.

PT签到助手

4.添加完成后重启一次项目,回到项目上传路径查看run.log文件,检测签到状态【站点数量决定签到时间长短】

PT签到助手

部署方式2

1.上传项目文件至服务器.

2.删除pt.py文件中最后一行内容:

  1. time.sleep(43200)  

3.在宝塔面板终端处安装requests库【PS:前提需先安装好Python3.x版本】

  1. python3 -m pip install requests  

4.在宝塔面板定时任务中新建shell任务.根据需求选择执行周期,脚本内容根据项目上传路径自行修改:

  1. cd /xxxxx/pt  
  2. python3 pt.py  

PT签到助手

5.添加完成后执行一次任务,查看run.log检测签到状态

站点添加

在site.json文件中自行根据站点特性以及签到需求选择以下签到方式添加站点.

通用签到方式:

  1. {  
  2.     "site""站点名称",  
  3.     "url""站点地址",  
  4.     "cookie""站点cookie"  
  5. }  

签到方式1:

  1. {  
  2.     "site""站点名称",  
  3.     "url""域名/attendance.php",  
  4.     "referer""域名/index.php",  
  5.     "cookie""站点cookie"  
  6. }  

签到方式2:

  1. {  
  2.     "site""站点名称",  
  3.     "url""域名/signin.php",  
  4.     "referer""域名/index.php",  
  5.     "cookie""站点cookie"  
  6. }  

签到方式3:

  1. {  
  2.     "site""站点名称",  
  3.     "url""域名/attendance.php",  
  4.     "cookie""站点cookie"  
  5. }  

签到方式4:

  1. {  
  2.     "site""站点名称",  
  3.     "url""域名/sign_in.php",  
  4.     "referer""域名/faq.php",  
  5.     "action""sign_in",  
  6.     "cookie""站点cookie"  
  7. }  

签到方式5:

  1. {  
  2.     "site""站点名称",  
  3.     "url""域名/attendance-ajax.php",  
  4.     "cookie""站点cookie"  
  5. }  

已知站点的签到方式

通用签到方式站点:KeepFrds、SouLvoice、HDAI、HDBD、PTMSG、HDFANS、CCF、DIC、U2、MTEAM、GPW、HUIJVTT[貌似已关闭站点]

签到方式1站点:PTHOME

签到方式2站点:HAIDAN

签到方式3站点:Lemonhd、HDATMOS、HDZONE、HDTIME、3WMG

签到方式4站点:HDAREA

签到方式5站点:PterClub

附件下载

给TA买糖
共{{data.count}}人
人已赞赏
Python

Python学习笔记:Python读取本地Josn文件

2021-5-4 13:12:07

福利线报

音乐解锁Unlock Music_v1.9.0

2021-7-14 21:09:41

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
搜索