-
-
+
+
- mikumifa
+ W1ttF
|
-
-
+
+
- W1ttF
+ mikumifa
|
From 121a2a0931e25b47e4a73225128161c9237ca4cf Mon Sep 17 00:00:00 2001
From: WittF
Date: Thu, 13 Jun 2024 09:39:44 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E4=BC=98=E5=8C=96>?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
tab/settings.py | 46 ++++++++++++++++++++++++++++++++++++++++++++--
tab/train.py | 2 +-
2 files changed, 45 insertions(+), 3 deletions(-)
diff --git a/tab/settings.py b/tab/settings.py
index 0c09fed..aaad648 100644
--- a/tab/settings.py
+++ b/tab/settings.py
@@ -5,6 +5,7 @@
from config import cookies_config_path
from util.bili_request import BiliRequest
+from urllib.parse import urlparse, parse_qs
buyer_value = []
addr_value = []
@@ -20,7 +21,23 @@ def on_submit_ticket_id(num):
buyer_value = []
addr_value = []
ticket_value = []
- num = int(num)
+ extracted_id_message = ""
+ if "http" in num or "https" in num:
+ num = extract_id_from_url(num)
+ extracted_id_message = f"已提取URL票ID:{num}"
+ else:
+ try:
+ num = int(num)
+ extracted_id_message = f"票ID:{num}"
+ except ValueError:
+ return [
+ gr.update(),
+ gr.update(),
+ gr.update(),
+ gr.update(),
+ gr.update(visible=True),
+ gr.update(value='输入无效,请输入一个有效的票ID。', visible=True),
+ ]
bili_request = BiliRequest(cookies_config_path=cookies_config_path)
res = bili_request.get(
url=f"https://show.bilibili.com/api/ticket/project/getV2?version=134&id={num}&project_id={num}"
@@ -28,6 +45,26 @@ def on_submit_ticket_id(num):
ret = res.json()
logger.debug(ret)
+ # 检查 errno
+ if ret.get('errno') == 100001:
+ return [
+ gr.update(),
+ gr.update(),
+ gr.update(),
+ gr.update(),
+ gr.update(visible=True),
+ gr.update(value='输入无效,请输入一个有效的票ID。', visible=True),
+ ]
+ elif ret.get('errno') != 0:
+ return [
+ gr.update(),
+ gr.update(),
+ gr.update(),
+ gr.update(),
+ gr.update(visible=True),
+ gr.update(value=ret.get('msg', '未知错误') + '。', visible=True),
+ ]
+
data = ret["data"]
ticket_str_list = []
@@ -84,7 +121,7 @@ def on_submit_ticket_id(num):
gr.update(choices=addr_str_list),
gr.update(visible=True),
gr.update(
- value=f"获取票信息成功:\n展会名称:{project_name}\n"
+ value=f"{extracted_id_message}\n获取票信息成功:\n展会名称:{project_name}\n"
f"开展时间:{project_start_time} - {project_end_time}\n场馆地址:{venue_name} {venue_address}",
visible=True,
),
@@ -99,6 +136,11 @@ def on_submit_ticket_id(num):
gr.update(value=e, visible=True),
]
+def extract_id_from_url(url):
+ parsed_url = urlparse(url)
+ query_params = parse_qs(parsed_url.query)
+ return query_params.get('id', [None])[0]
+
def on_submit_all(ticket_id, ticket_info, people_indices, people_buyer_index, address_index):
try:
diff --git a/tab/train.py b/tab/train.py
index 12168ae..c2f1f3a 100644
--- a/tab/train.py
+++ b/tab/train.py
@@ -29,7 +29,7 @@ def train_tab():
| ------------------ | ------------------------------------------------------------ |
| 手动 | 自己过,速度取决于自己,过程看项目的readme.md的GIF |
| 使用打码平台 rrocr | **支持**手动和人工同时使用 rrocr 提供的 http://www.rrocr.com 能过验证码,但是抢票没有测试,慎用 需要购买对应的key,速度比手动快,价格 一次大概一分钱 |
-| 使用过码服务 CapSolver | **不支持**手动和人工同时使用 CapSolver的过码方式 https://www.capsolver.com/zh https://docs.capsolver.com/guide/captcha/Geetest.html|
+| 使用过码服务 CapSolver | **不支持**手动和人工同时使用 自动过码大约**需10秒起** CapSolver的过码方式 https://www.capsolver.com/zh https://docs.capsolver.com/guide/captcha/Geetest.html|
| ..... | 欢迎Discussion补充 |
""")
From a0e5398c34ce8f984b916936bbec4e1770eb375c Mon Sep 17 00:00:00 2001
From: WittF
Date: Thu, 13 Jun 2024 09:42:52 +0800
Subject: [PATCH 3/3] 12s
---
tab/train.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tab/train.py b/tab/train.py
index c2f1f3a..29ccc92 100644
--- a/tab/train.py
+++ b/tab/train.py
@@ -29,7 +29,7 @@ def train_tab():
| ------------------ | ------------------------------------------------------------ |
| 手动 | 自己过,速度取决于自己,过程看项目的readme.md的GIF |
| 使用打码平台 rrocr | **支持**手动和人工同时使用 rrocr 提供的 http://www.rrocr.com 能过验证码,但是抢票没有测试,慎用 需要购买对应的key,速度比手动快,价格 一次大概一分钱 |
-| 使用过码服务 CapSolver | **不支持**手动和人工同时使用 自动过码大约**需10秒起** CapSolver的过码方式 https://www.capsolver.com/zh https://docs.capsolver.com/guide/captcha/Geetest.html|
+| 使用过码服务 CapSolver | **不支持**手动和人工同时使用 自动过码大约**需12秒起** CapSolver的过码方式 https://www.capsolver.com/zh https://docs.capsolver.com/guide/captcha/Geetest.html|
| ..... | 欢迎Discussion补充 |
""")
|