mirror of
https://github.com/yule153604/zgdx_script.git
synced 2026-11-06 00:16:44 +08:00
简化tv189.py脚本,移除心跳包逻辑,更新README文档
This commit is contained in:
1 parent
db06e2ab62
commit
8adcb360d9
2 files changed
+181
-6
No files matched your search
@@ -2,7 +2,18 @@
|
||||
|
||||
中国电信APP日常任务自动化工具。
|
||||
|
||||
## 功能
|
||||
## 脚本说明
|
||||
|
||||
| 脚本 | 说明 |
|
||||
|------|------|
|
||||
| 电信任务.py | 电信APP签到、抽奖、喂食等任务 |
|
||||
| tv189.py | 天翼超高清任务(签到、分享、视频奖励) |
|
||||
|
||||
---
|
||||
|
||||
## 电信任务.py
|
||||
|
||||
### 功能
|
||||
|
||||
- **每日签到** - 自动完成签到,获取金豆奖励
|
||||
- **连签奖励** - 连续签到7天自动领取奖励
|
||||
@@ -11,17 +22,17 @@
|
||||
- **任务完成** - 自动完成可用的日常任务
|
||||
- **喂食功能** - 自动执行喂食任务(每日最多10次)
|
||||
|
||||
## 环境要求
|
||||
### 环境要求
|
||||
|
||||
- Python 3.8+
|
||||
|
||||
## 安装
|
||||
### 安装
|
||||
|
||||
```bash
|
||||
pip install requests pycryptodome certifi
|
||||
```
|
||||
|
||||
## 配置
|
||||
### 配置
|
||||
|
||||
通过环境变量 `chinaTelecomAccount` 配置账号信息。
|
||||
|
||||
@@ -133,10 +144,10 @@ cron: 0 8 * * *
|
||||
...
|
||||
[2025-12-10 08:00:25] [喂食完成] 138****0000 今日喂食次数已达上限
|
||||
|
||||
[2025-12-10 08:00:30] 📧 所有任务完成
|
||||
[2025-12-10 08:00:30] 所有任务完成
|
||||
```
|
||||
|
||||
## 常见问题
|
||||
### 常见问题
|
||||
|
||||
**Q: 提示"未找到环境变量"**
|
||||
|
||||
@@ -151,6 +162,47 @@ cron: 0 8 * * *
|
||||
|
||||
脚本会自动检测并清除过期缓存。如仍有问题,手动删除 `Cache.json`。
|
||||
|
||||
---
|
||||
|
||||
## tv189.py
|
||||
|
||||
### 功能
|
||||
|
||||
- **每日签到** - 天翼超高清每日签到
|
||||
- **分享任务** - 自动完成分享任务
|
||||
- **VIP奖励** - VIP会员奖励、连续包月奖励
|
||||
- **节日奖励** - 节日活动奖励领取
|
||||
- **视频奖励** - 观看1/5/30分钟奖励领取
|
||||
|
||||
### 安装
|
||||
|
||||
```bash
|
||||
pip install requests
|
||||
```
|
||||
|
||||
### 配置
|
||||
|
||||
编辑 `tv189.py`,填入任务中心 Cookie:
|
||||
|
||||
```python
|
||||
USER_COOKIE = "从 h5.nty.tv189.com 抓包获取的 Cookie"
|
||||
```
|
||||
|
||||
### 使用
|
||||
|
||||
```bash
|
||||
python tv189.py
|
||||
```
|
||||
|
||||
### 抓包说明
|
||||
|
||||
1. 打开天翼超高清APP
|
||||
2. 进入任务中心页面
|
||||
3. 抓包域名 `h5.nty.tv189.com` 的请求
|
||||
4. 复制 Cookie 头信息
|
||||
|
||||
---
|
||||
|
||||
## 免责声明
|
||||
|
||||
本脚本仅供学习交流使用,请勿用于商业用途。使用者应遵守中国电信相关服务条款。
|
||||
@@ -0,0 +1,123 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
天翼超高清全自动任务脚本
|
||||
"""
|
||||
|
||||
import random
|
||||
import requests
|
||||
from typing import Optional
|
||||
|
||||
|
||||
# ==================== 配置区 ====================
|
||||
|
||||
# 任务中心 Cookie (抓包域名: h5.nty.tv189.com)
|
||||
USER_COOKIE = ""
|
||||
|
||||
# ==================== 常量定义 ====================
|
||||
|
||||
BASE_URL = "https://h5.nty.tv189.com"
|
||||
|
||||
COMMON_HEADERS = {
|
||||
"Host": "h5.nty.tv189.com",
|
||||
"Accept": "application/json, text/javascript, */*; q=0.01",
|
||||
"X-Requested-With": "XMLHttpRequest",
|
||||
"User-Agent": (
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) "
|
||||
"AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 "
|
||||
"appstore-newtysx-ios-UA-2.30.14.5"
|
||||
),
|
||||
"Cookie": USER_COOKIE,
|
||||
"Referer": "https://h5.nty.tv189.com/csite/tysx/task/main",
|
||||
}
|
||||
|
||||
VIDEO_REWARD_STAGES = [1, 5, 30]
|
||||
|
||||
|
||||
# ==================== 工具函数 ====================
|
||||
|
||||
|
||||
def api_get(url_path: str) -> Optional[dict]:
|
||||
"""通用 GET 请求"""
|
||||
separator = "&" if "?" in url_path else "?"
|
||||
url = f"{BASE_URL}{url_path}{separator}{random.random()}"
|
||||
|
||||
try:
|
||||
resp = requests.get(url, headers=COMMON_HEADERS, timeout=10)
|
||||
if resp.status_code == 200:
|
||||
return resp.json()
|
||||
except (requests.RequestException, ValueError):
|
||||
pass
|
||||
return None
|
||||
|
||||
|
||||
# ==================== 任务函数 ====================
|
||||
|
||||
|
||||
def task_sign_in() -> None:
|
||||
"""每日签到"""
|
||||
api_get("/api/portal/task/integralpresentforsign")
|
||||
|
||||
|
||||
def task_share() -> None:
|
||||
"""分享任务"""
|
||||
api_get("/api/portal/task/shareintegralapply")
|
||||
|
||||
|
||||
def task_vip_bonus() -> None:
|
||||
"""VIP 奖励领取"""
|
||||
api_get("/api/portal/task/vipintegralapply")
|
||||
api_get("/api/portal/task/getrollvip")
|
||||
|
||||
|
||||
def task_festival() -> None:
|
||||
"""节日活动奖励"""
|
||||
api_get("/api/portal/task/festival-get")
|
||||
|
||||
|
||||
def claim_video_rewards() -> None:
|
||||
"""领取视频观看奖励"""
|
||||
for minutes in VIDEO_REWARD_STAGES:
|
||||
url = f"{BASE_URL}/api/portal/task/playtask?e={minutes}"
|
||||
try:
|
||||
resp = requests.get(url, headers=COMMON_HEADERS, timeout=10)
|
||||
result = resp.json()
|
||||
if result.get("code") == 0:
|
||||
info = result.get("info", {})
|
||||
if info.get("resultDetails"):
|
||||
print(f"[成功] 观看{minutes}分钟奖励")
|
||||
except (requests.RequestException, ValueError):
|
||||
pass
|
||||
|
||||
|
||||
def query_points() -> Optional[float]:
|
||||
"""查询元气值"""
|
||||
data = api_get("/api/portal/task/integralquery")
|
||||
if data and "intergral" in data:
|
||||
return data["intergral"] / 10
|
||||
return None
|
||||
|
||||
|
||||
# ==================== 主函数 ====================
|
||||
|
||||
|
||||
def main() -> None:
|
||||
if not USER_COOKIE:
|
||||
print("[错误] 请先配置 USER_COOKIE")
|
||||
return
|
||||
|
||||
# 执行任务
|
||||
task_sign_in()
|
||||
task_share()
|
||||
task_vip_bonus()
|
||||
task_festival()
|
||||
claim_video_rewards()
|
||||
|
||||
# 查询最终积分
|
||||
points = query_points()
|
||||
if points is not None:
|
||||
print(f"[积分] 当前元气值: {points}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in new issue
Block a user