Spaces:
Running
Running
Upload 2 files
Browse files- browser_configs.py +17 -0
- db_results.py +27 -0
browser_configs.py
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import random
|
| 2 |
+
|
| 3 |
+
class browser_config:
|
| 4 |
+
@staticmethod
|
| 5 |
+
def get_random_browser_config(browser_type):
|
| 6 |
+
# 返回: 浏览器名, 版本, User-Agent, Sec-CH-UA
|
| 7 |
+
versions = ["120.0.0.0", "121.0.0.0", "122.0.0.0", "124.0.0.0"]
|
| 8 |
+
ver = random.choice(versions)
|
| 9 |
+
ua = f"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{ver} Safari/537.36"
|
| 10 |
+
sec_ch_ua = f'"Not(A:Brand";v="99", "Google Chrome";v="{ver.split(".")[0]}", "Chromium";v="{ver.split(".")[0]}"'
|
| 11 |
+
return "chrome", ver, ua, sec_ch_ua
|
| 12 |
+
|
| 13 |
+
@staticmethod
|
| 14 |
+
def get_browser_config(name, version):
|
| 15 |
+
ua = f"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{version} Safari/537.36"
|
| 16 |
+
sec_ch_ua = f'"Google Chrome";v="{version}", "Chromium";v="{version}"'
|
| 17 |
+
return ua, sec_ch_ua
|
db_results.py
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import time
|
| 2 |
+
import asyncio
|
| 3 |
+
|
| 4 |
+
# 内存数据库,用于临时存储验证码结果
|
| 5 |
+
results_db = {}
|
| 6 |
+
|
| 7 |
+
async def init_db():
|
| 8 |
+
print("[系统] 结果数据库初始化成功 (内存模式)")
|
| 9 |
+
|
| 10 |
+
async def save_result(task_id, task_type, data):
|
| 11 |
+
# 存储结果,如果 data 是字典则存入,否则构造字典
|
| 12 |
+
results_db[task_id] = data
|
| 13 |
+
print(f"[系统] 任务 {task_id} 状态更新: {data.get('value', '正在处理')}")
|
| 14 |
+
|
| 15 |
+
async def load_result(task_id):
|
| 16 |
+
return results_db.get(task_id)
|
| 17 |
+
|
| 18 |
+
async def cleanup_old_results(days_old=7):
|
| 19 |
+
# 简单的清理逻辑
|
| 20 |
+
now = time.time()
|
| 21 |
+
to_delete = []
|
| 22 |
+
for tid, res in results_db.items():
|
| 23 |
+
if isinstance(res, dict) and now - res.get('createTime', now) > days_old * 86400:
|
| 24 |
+
to_delete.append(tid)
|
| 25 |
+
for tid in to_delete:
|
| 26 |
+
del results_db[tid]
|
| 27 |
+
return len(to_delete)
|