commit
9e2967cdb3
36 changed files with 6470 additions and 0 deletions
-
BINdeep/__pycache__/ai_seo.cpython-310.pyc
-
BINdeep/__pycache__/ds_test.cpython-310.pyc
-
79deep/ai_seo.py
-
494deep/deepseek_work.py
-
71deep/ds_test.py
-
113deep/js_data/ds.js
-
31deep/js_data/js_runner.js
-
BINdeep/js_data/sha3_wasm_bg.wasm
-
96deepseek.log
-
494deepseekstart.py
-
113js_data/ds.js
-
31js_data/js_runner.js
-
BINjs_data/sha3_wasm_bg.wasm
-
BINkimi_tokens.db
-
510kimistart.py
-
261login/kimi_auto_login.py
-
472login/mita_login.py
-
47login/set_status_active.py
-
568mitastart.py
-
18requirements.txt
-
98start.bat
-
276tongyistart.py
-
BINutlit/__pycache__/encrpty.cpython-310.pyc
-
BINutlit/__pycache__/retry.cpython-310.pyc
-
BINutlit/__pycache__/update_db.cpython-310.pyc
-
BINutlit/__pycache__/utils.cpython-310.pyc
-
71utlit/encrpty.py
-
95utlit/msg_push.py
-
32utlit/retry.py
-
146utlit/update_db.py
-
110utlit/utils.py
-
668wxyy.log
-
270wxyystart.py
-
BINyuanbao.2026-05-07_18-03-48_868163.log.zip
-
844yuanbao.log
-
462yuanbao.py
@ -0,0 +1,79 @@ |
|||||
|
# coding=utf-8 |
||||
|
from dataclasses import dataclass, field |
||||
|
import os |
||||
|
|
||||
|
from datetime import datetime |
||||
|
def convert_timestamp(timestamp): |
||||
|
""" |
||||
|
自动识别时间戳是秒级还是毫秒级,并转换为 datetime 对象。 |
||||
|
|
||||
|
参数: |
||||
|
timestamp -- 时间戳(整数或浮点数) |
||||
|
|
||||
|
返回: |
||||
|
datetime 对象 |
||||
|
""" |
||||
|
# 如果时间戳大于 1e10,认为是毫秒级时间戳 |
||||
|
if timestamp > 1e10: |
||||
|
timestamp /= 1000.0 # 转换为秒级时间戳 |
||||
|
return datetime.fromtimestamp(timestamp) |
||||
|
@dataclass |
||||
|
class AiSearchResult: |
||||
|
|
||||
|
""" |
||||
|
ai搜索结果对象 |
||||
|
""" |
||||
|
|
||||
|
# 标题 |
||||
|
title: str = '' |
||||
|
# url |
||||
|
url: str = '' |
||||
|
# 来源 |
||||
|
host_name: str = '' |
||||
|
# 描述 |
||||
|
body: str = '' |
||||
|
# 发布时间 |
||||
|
publish_time: str|int|float = '' |
||||
|
#是否被ai引用 |
||||
|
is_referenced: str = '0' |
||||
|
#情感倾向" 1- 中立 2- 正面 3- 负面 |
||||
|
sentiment_type = 0 |
||||
|
#情感类型 |
||||
|
type = 0 |
||||
|
def __post_init__(self): |
||||
|
if isinstance(self.publish_time, float): |
||||
|
self.publish_time = int(self.publish_time) |
||||
|
|
||||
|
if isinstance(self.publish_time, int): |
||||
|
self.publish_time = convert_timestamp(self.publish_time).strftime('%Y-%m-%d') |
||||
|
|
||||
|
if isinstance(self.publish_time, str): |
||||
|
try: |
||||
|
now = datetime.now() |
||||
|
publish = datetime.strptime(self.publish_time, f'%m-%d') |
||||
|
except ValueError: |
||||
|
return |
||||
|
self.publish_time = publish.strftime(f'{now.year}-%m-%d') |
||||
|
|
||||
|
|
||||
|
@dataclass |
||||
|
class AiAnswer: |
||||
|
""" |
||||
|
ai回答对象 |
||||
|
""" |
||||
|
|
||||
|
platform_id: int |
||||
|
platform_name: str |
||||
|
prompt: str |
||||
|
keyword: str |
||||
|
answer: str = '' |
||||
|
search_result: list[AiSearchResult] = field(default_factory=list) |
||||
|
screenshot_file: str = '' |
||||
|
# 状态 |
||||
|
run_status: bool = True |
||||
|
|
||||
|
def __post_init__(self): |
||||
|
self.screenshot_file = os.path.abspath(self.screenshot_file) |
||||
|
|
||||
|
|
||||
|
|
||||
@ -0,0 +1,494 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
""" |
||||
|
DeepSeek Web API 单线程版本 |
||||
|
- 参考 kimistart.py 的类结构 |
||||
|
- 使用 loguru 日志系统 |
||||
|
- 单线程循环处理任务 |
||||
|
""" |
||||
|
|
||||
|
import base64 |
||||
|
import json |
||||
|
import os |
||||
|
import pathlib |
||||
|
import random |
||||
|
import re |
||||
|
import string |
||||
|
import time |
||||
|
from datetime import datetime |
||||
|
from json import JSONDecodeError |
||||
|
from typing import Dict, List, Optional, Tuple |
||||
|
|
||||
|
import requests |
||||
|
from glom import glom |
||||
|
from loguru import logger |
||||
|
|
||||
|
from ai_seo import AiSearchResult |
||||
|
from ds_test import calc_pow_with_node |
||||
|
from utlit.retry import retry |
||||
|
|
||||
|
# 配置日志 |
||||
|
cwd = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
||||
|
logger.add(f"{cwd}/deepseek.log", |
||||
|
level="DEBUG", |
||||
|
rotation="00:00", |
||||
|
retention="3 days", |
||||
|
compression="zip", |
||||
|
backtrace=True) |
||||
|
|
||||
|
# 常量配置 |
||||
|
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" |
||||
|
ORIGIN = "https://chat.deepseek.com" |
||||
|
REFERER = "https://chat.deepseek.com/" |
||||
|
|
||||
|
BASE = "https://chat.deepseek.com" |
||||
|
SESSION_CREATE = f"{BASE}/api/v0/chat_session/create" |
||||
|
POW_CHALLENGE = f"{BASE}/api/v0/chat/create_pow_challenge" |
||||
|
CHAT_COMPLETION = f"{BASE}/api/v0/chat/completion" |
||||
|
|
||||
|
TASK_URL = 'https://api.granking.com' |
||||
|
TASK_HOST = 'api.granking.com' |
||||
|
|
||||
|
|
||||
|
class ToolsLoad: |
||||
|
"""工具类:处理API请求和会话管理""" |
||||
|
|
||||
|
@retry('获取deepseek cookie', 0, time_sleep=30) |
||||
|
def get_cookie(self, platform_id="1"): |
||||
|
url = "http://granking-api.neicela.com/api/third/getOneSpiderSession?platform_id=" + platform_id + "&app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4" |
||||
|
payload = {} |
||||
|
headers = { |
||||
|
'Authorization': 'Bearer ', |
||||
|
'User-Agent': 'Apifox/1.0.0 (http://apifox.com)' |
||||
|
} |
||||
|
response = requests.request("GET", url, headers=headers, data=payload).json() |
||||
|
if response.get("data", []) == []: |
||||
|
logger.warning(f'没有获取到cookie: {response}') |
||||
|
return False |
||||
|
logger.info(f'成功获取到cookie: {response.get("data")}') |
||||
|
return response.get("data") |
||||
|
|
||||
|
@retry('上传cookie状态', 5) |
||||
|
def update_session(self, id, reload_time, status="4"): |
||||
|
url = "http://granking-api.neicela.com/api/third/updateSpiderSession?app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4" |
||||
|
payload = json.dumps({ |
||||
|
"id": id, |
||||
|
"status": status, |
||||
|
"reload_time": reload_time |
||||
|
}) |
||||
|
headers = { |
||||
|
'lang': '{{lang}}', |
||||
|
'Authorization': 'Bearer ', |
||||
|
'User-Agent': 'Apifox/1.0.0 (http://apifox.com)', |
||||
|
'Content-Type': 'application/json' |
||||
|
} |
||||
|
response = requests.request("POST", url, headers=headers, data=payload) |
||||
|
logger.info(f'更新session状态: {response.text}') |
||||
|
return response.text |
||||
|
|
||||
|
@retry('提交结果', 5) |
||||
|
def post_task(self, data): |
||||
|
url = f"{TASK_URL}/api/third/submitProjectTask" |
||||
|
headers = { |
||||
|
'User-Agent': 'Apifox/1.0.0 (http://apifox.com)', |
||||
|
'Content-Type': 'application/json', |
||||
|
'Accept': '*/*', |
||||
|
'Host': TASK_HOST, |
||||
|
'Connection': 'keep-alive', |
||||
|
'Cookie': 'lang=zh-cn' |
||||
|
} |
||||
|
resp = requests.post(url, headers=headers, json=data, timeout=(5, 300)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
@retry('获取task消息', 5) |
||||
|
def get_task(self): |
||||
|
url = f"{TASK_URL}/api/third/getTask?app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4&platform_ids=1" |
||||
|
resp = requests.get(url, timeout=(5, 20)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
@retry('更新任务状态', 5) |
||||
|
def update_task_status(self, task_id, status): |
||||
|
url = f"{TASK_URL}/api/third/updateTask?app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4" |
||||
|
payload = json.dumps({ |
||||
|
"task_id": task_id, |
||||
|
"status": status, |
||||
|
}) |
||||
|
headers = { |
||||
|
'User-Agent': 'Apifox/1.0.0 (http://apifox.com)', |
||||
|
'Content-Type': 'application/json', |
||||
|
'Accept': '*/*', |
||||
|
'Host': 'xunliu-api.ecps.com.cn', |
||||
|
'Connection': 'keep-alive', |
||||
|
'Cookie': 'lang=zh-cn' |
||||
|
} |
||||
|
response = requests.request("POST", url, headers=headers, data=payload) |
||||
|
return response.json() |
||||
|
|
||||
|
def get_leim(self): |
||||
|
url = 'https://hif-leim.deepseek.com/query' |
||||
|
resp = requests.get(url) |
||||
|
return resp.json().get("data").get("biz_data").get("value") |
||||
|
|
||||
|
|
||||
|
class DeepSeekChatClient: |
||||
|
"""DeepSeek聊天客户端""" |
||||
|
|
||||
|
def __init__(self): |
||||
|
self.base_path = pathlib.Path(__file__).resolve().parent |
||||
|
self.js_data_path = self.base_path / "js_data" |
||||
|
self.tools = ToolsLoad() |
||||
|
|
||||
|
def default_headers(self, extra: Optional[Dict[str, str]] = None) -> Dict[str, str]: |
||||
|
h = { |
||||
|
"Authorization": '', |
||||
|
"Content-Type": "application/json", |
||||
|
"Origin": ORIGIN, |
||||
|
"Referer": REFERER, |
||||
|
"User-Agent": USER_AGENT, |
||||
|
"Accept": "*/*", |
||||
|
} |
||||
|
if extra: |
||||
|
h.update(extra) |
||||
|
return h |
||||
|
|
||||
|
def create_chat_session(self, cookie) -> dict: |
||||
|
"""创建聊天会话""" |
||||
|
r = requests.post(SESSION_CREATE, headers=self.default_headers({"Authorization": cookie}), json={}, timeout=30) |
||||
|
r.raise_for_status() |
||||
|
data = r.json() |
||||
|
# 兼容多种结构 |
||||
|
if isinstance(data, dict) and "id" in data and isinstance(data["id"], str): |
||||
|
return {"id": data["id"]} |
||||
|
if isinstance(data.get("data"), dict): |
||||
|
if isinstance(data["data"].get("id"), str): |
||||
|
return {"id": data["data"]["id"]} |
||||
|
if isinstance(data["data"].get("data"), dict) and isinstance(data["data"]["data"].get("id"), str): |
||||
|
return {"id": data["data"]["data"]["id"]} |
||||
|
biz_data = data["data"].get("biz_data") |
||||
|
if isinstance(biz_data, dict) and isinstance(biz_data.get("id"), str): |
||||
|
return biz_data |
||||
|
return biz_data |
||||
|
raise ValueError(f"无法解析 chat_session_id:{data}") |
||||
|
|
||||
|
def fetch_pow_challenge(self, cookie, target_path="/api/v0/chat/completion") -> dict: |
||||
|
"""获取PoW挑战""" |
||||
|
r = requests.post( |
||||
|
POW_CHALLENGE, |
||||
|
headers=self.default_headers({"Authorization": cookie}), |
||||
|
json={"target_path": target_path}, |
||||
|
timeout=30, |
||||
|
) |
||||
|
r.raise_for_status() |
||||
|
data = r.json() |
||||
|
ch = data.get("data", {}).get("biz_data", {}).get("challenge") |
||||
|
if not ch: |
||||
|
raise RuntimeError(f"挑战返回结构异常:{data}") |
||||
|
return ch |
||||
|
|
||||
|
def solve_answer_fixed_sig(self, challenge_obj: dict) -> int: |
||||
|
"""求解PoW答案""" |
||||
|
logger.debug(f"开始求解PoW: {challenge_obj}") |
||||
|
ch = challenge_obj["challenge"] |
||||
|
salt = challenge_obj["salt"] |
||||
|
lim = int(challenge_obj.get("difficulty", 200000)) |
||||
|
expire_at = challenge_obj["expire_at"] |
||||
|
|
||||
|
# 指向 js_data 文件夹中的文件 |
||||
|
node_runner = str(self.js_data_path / "js_runner.js") |
||||
|
wasm_file = str(self.js_data_path / "sha3_wasm_bg.wasm") |
||||
|
|
||||
|
res = calc_pow_with_node( |
||||
|
node_runner_path=node_runner, |
||||
|
wasm_path=wasm_file, |
||||
|
algorithm="DeepSeekHashV1", |
||||
|
challenge=ch, |
||||
|
salt=salt, |
||||
|
difficulty=lim, |
||||
|
expire_at=expire_at, |
||||
|
) |
||||
|
logger.info(f"PoW求解结果: {res}") |
||||
|
return res.get("answer") |
||||
|
|
||||
|
def pow_to_header_value(self, algorithm: str, challenge: str, salt: str, answer: int, signature: str, target_path: str) -> str: |
||||
|
"""组装x-ds-pow-response头""" |
||||
|
payload = { |
||||
|
'algorithm': algorithm, |
||||
|
'challenge': challenge, |
||||
|
'salt': salt, |
||||
|
'answer': answer, |
||||
|
'signature': signature, |
||||
|
'target_path': target_path |
||||
|
} |
||||
|
raw = json.dumps(payload, ensure_ascii=False).encode("utf-8") |
||||
|
return base64.b64encode(raw).decode("ascii") |
||||
|
|
||||
|
def ensure_valid_challenge(self, cookie) -> dict: |
||||
|
"""获取未过期的挑战""" |
||||
|
while True: |
||||
|
ch = self.fetch_pow_challenge(cookie, "/api/v0/chat/completion") |
||||
|
now_ms = int(time.time() * 1000) |
||||
|
expire_at = int(ch.get("expire_at", now_ms + 1)) |
||||
|
if expire_at - now_ms > 5000: |
||||
|
return ch |
||||
|
time.sleep(0.2) |
||||
|
|
||||
|
def sse_chat_completion( |
||||
|
self, |
||||
|
chat_session_id: dict, |
||||
|
prompt: str, |
||||
|
cookie: str, |
||||
|
thinking_enabled: bool = False, |
||||
|
search_enabled: bool = True, |
||||
|
parent_message_id: Optional[str] = None, |
||||
|
client_stream_id: Optional[str] = None, |
||||
|
) -> Tuple[List[Dict], str, str]: |
||||
|
"""SSE聊天请求,返回搜索结果、回答、思考内容""" |
||||
|
# 1) 取挑战 |
||||
|
ch = self.ensure_valid_challenge(cookie) |
||||
|
algorithm = ch.get("algorithm", "DeepSeekHashV1") |
||||
|
challenge = ch["challenge"] |
||||
|
salt = ch["salt"] |
||||
|
signature = ch["signature"] |
||||
|
target_path = ch.get("target_path", "/api/v0/chat/completion") |
||||
|
|
||||
|
# 2) 求解answer |
||||
|
answer = self.solve_answer_fixed_sig(ch) |
||||
|
logger.info(f"PoW answer: {answer}") |
||||
|
|
||||
|
# 3) 组装x-ds-pow-response |
||||
|
xpow = self.pow_to_header_value( |
||||
|
algorithm=algorithm, |
||||
|
challenge=challenge, |
||||
|
salt=salt, |
||||
|
answer=answer, |
||||
|
signature=signature, |
||||
|
target_path=target_path, |
||||
|
) |
||||
|
|
||||
|
# 4) 构建请求头 |
||||
|
h = self.default_headers({"x-ds-pow-response": xpow, "Authorization": cookie}) |
||||
|
h["x-hif-leim"] = self.tools.get_leim() |
||||
|
|
||||
|
if not client_stream_id: |
||||
|
client_stream_id = f"{time.strftime('%Y%m%d')}" |
||||
|
|
||||
|
payload = { |
||||
|
"chat_session_id": chat_session_id.get("id"), |
||||
|
"parent_message_id": parent_message_id, |
||||
|
"prompt": prompt, |
||||
|
"ref_file_ids": [], |
||||
|
"thinking_enabled": thinking_enabled, |
||||
|
"search_enabled": search_enabled, |
||||
|
"client_stream_id": client_stream_id + "-3e910d848b6140d5", |
||||
|
} |
||||
|
|
||||
|
# 5) 发送SSE请求 |
||||
|
with requests.post( |
||||
|
CHAT_COMPLETION, headers=h, json=payload, stream=True, timeout=300 |
||||
|
) as resp: |
||||
|
resp.raise_for_status() |
||||
|
response_text = '' |
||||
|
thinking_text = '' |
||||
|
search_result_lists = list() |
||||
|
start_content = False |
||||
|
start_thinking = False |
||||
|
|
||||
|
for raw in resp.iter_lines(decode_unicode=True): |
||||
|
if not raw: |
||||
|
continue |
||||
|
line = raw.strip() |
||||
|
print(line,end=' ') |
||||
|
data_str = line[6:] if line.startswith("data: ") else line |
||||
|
|
||||
|
if data_str == "[DONE]": |
||||
|
logger.info("SSE流结束") |
||||
|
break |
||||
|
|
||||
|
try: |
||||
|
data = json.loads(data_str) |
||||
|
if glom(data, 'v.0.v', default='') == 'TIMEOUT': |
||||
|
logger.warning("DeepSeek服务器繁忙") |
||||
|
except JSONDecodeError: |
||||
|
continue |
||||
|
|
||||
|
# 获取搜索结果 |
||||
|
if data.get('p', '') == 'response/search_results' and isinstance(data.get('v', ''), list): |
||||
|
logger.info("获取到联网搜索结果") |
||||
|
search_result_list = data.get('v', []) |
||||
|
search_result_lists.extend(search_result_list) |
||||
|
|
||||
|
# 深度思考数据 |
||||
|
if data.get('p', '') == 'response/thinking_content': |
||||
|
start_thinking = True |
||||
|
if data.get('p', '') == 'response/thinking_elapsed_secs': |
||||
|
start_thinking = False |
||||
|
if start_thinking: |
||||
|
value = data.get('v', None) |
||||
|
if isinstance(value, dict): |
||||
|
continue |
||||
|
if value is None: |
||||
|
value = glom(data, 'choices.0.delta.content', default="") |
||||
|
thinking_text = thinking_text + str(value) |
||||
|
|
||||
|
# 回复数据 |
||||
|
if data.get('p', '') == 'response/content': |
||||
|
start_content = True |
||||
|
if start_content: |
||||
|
value = data.get('v', None) |
||||
|
if isinstance(value, dict): |
||||
|
continue |
||||
|
if value is None: |
||||
|
value = glom(data, 'choices.0.delta.content', default="") |
||||
|
response_text = response_text + str(value) |
||||
|
|
||||
|
# 处理引用 |
||||
|
citation = list() |
||||
|
citations = re.findall(r'citation:(\d+)', response_text) |
||||
|
if citations: |
||||
|
citation = list(set(citations)) |
||||
|
|
||||
|
# 构建搜索结果列表 |
||||
|
ai_search_result_list = [] |
||||
|
for index, search_result in enumerate(search_result_lists): |
||||
|
dic = { |
||||
|
"url": search_result.get('url', ''), |
||||
|
"title": search_result.get('title', ''), |
||||
|
"body": search_result.get('snippet', ''), |
||||
|
"publish_time": search_result.get('published_at', ''), |
||||
|
"host_name": search_result.get('site_name', '未知'), |
||||
|
"is_referenced": "1" if str(index + 1) in citation else "0" |
||||
|
} |
||||
|
if dic.get("title") and dic.get("url"): |
||||
|
ai_search_result_list.append(dic) |
||||
|
|
||||
|
return ai_search_result_list, response_text, thinking_text |
||||
|
|
||||
|
|
||||
|
class Start: |
||||
|
"""主启动类""" |
||||
|
|
||||
|
def __init__(self): |
||||
|
self.tools = ToolsLoad() |
||||
|
self.client = DeepSeekChatClient() |
||||
|
|
||||
|
@retry('处理消息任务', for_work=10) |
||||
|
def process_task(self, task): |
||||
|
"""处理单个任务""" |
||||
|
task_id = task.get("id", "") |
||||
|
keyword = task.get("keyword", "") |
||||
|
platform_id = task.get("platform_id", "") |
||||
|
brand = task.get("brand", "") |
||||
|
|
||||
|
logger.info(f"开始处理任务: {keyword} | task_id: {task_id}") |
||||
|
|
||||
|
# 获取cookie |
||||
|
response = self.tools.get_cookie(platform_id="1") |
||||
|
if not response: |
||||
|
logger.warning(f'cookie获取失败') |
||||
|
return False |
||||
|
|
||||
|
cookie = response.get("cookie") |
||||
|
cookie_id = response.get("id") |
||||
|
|
||||
|
if not cookie: |
||||
|
logger.warning(f'cookie为空') |
||||
|
return False |
||||
|
|
||||
|
try: |
||||
|
# 创建会话 |
||||
|
logger.info("创建chat_session...") |
||||
|
session_id = self.client.create_chat_session(cookie) |
||||
|
logger.info(f"新建chat_session_id: {session_id}") |
||||
|
|
||||
|
# 发送聊天请求 |
||||
|
logger.info(f"发送prompt: {keyword}") |
||||
|
ai_search_result_list, answer, thinking = self.client.sse_chat_completion( |
||||
|
chat_session_id=session_id, |
||||
|
prompt=keyword, |
||||
|
cookie=cookie, |
||||
|
thinking_enabled=True, |
||||
|
search_enabled=True, |
||||
|
) |
||||
|
if 'answer' == '': |
||||
|
print('异常结果',ai_search_result_list, answer, thinking) |
||||
|
return False |
||||
|
|
||||
|
# 构建结果 |
||||
|
now_dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") |
||||
|
result = { |
||||
|
'app_id': 'aa65700299848d6f21b969dbc9f6cf7c', |
||||
|
'secret': '5588071d36f0bc61af849c311a03f2c4', |
||||
|
'platform_id': platform_id, |
||||
|
'platform_name': 'deepseek', |
||||
|
'prompt': keyword, |
||||
|
'keyword': brand, |
||||
|
'answer': answer, |
||||
|
'search_result': ai_search_result_list, |
||||
|
'screenshot_file': '', |
||||
|
'run_status': True, |
||||
|
'task_id': task_id, |
||||
|
'rank': 0, |
||||
|
'start_time': now_dt, |
||||
|
'end_time': now_dt, |
||||
|
'screenshot_url': '', |
||||
|
'words': [] |
||||
|
} |
||||
|
|
||||
|
# 提交结果 |
||||
|
post_resp = self.tools.post_task(result) |
||||
|
print('\n') |
||||
|
print('\n') |
||||
|
print(result) |
||||
|
logger.info(f"任务 {task_id} 提交返回: {post_resp}") |
||||
|
return result |
||||
|
|
||||
|
except Exception as e: |
||||
|
error_msg = str(e) |
||||
|
logger.error(f"任务 {task_id} 处理异常: {error_msg}") |
||||
|
|
||||
|
# token失效处理 |
||||
|
if "Authorization Failed (invalid token)" in error_msg: |
||||
|
self.tools.update_session(cookie_id, "full_datetime", "2") |
||||
|
|
||||
|
# 更新任务状态为失败 |
||||
|
if task_id: |
||||
|
self.tools.update_task_status(task_id, "4") |
||||
|
raise |
||||
|
|
||||
|
@retry('主运行窗口', for_work=1) |
||||
|
def start_task_msg(self): |
||||
|
"""获取并处理任务""" |
||||
|
task_resp = self.tools.get_task() |
||||
|
# task_resp = {'code': 0, 'msg': 'success', 'data': {'id': 'e07a6ffddf62a61c8072a0d2d518a655', 'project_id': '019b97b0da35706a9f5aba211a201226', 'keyword_id': '019b97bc96c573b1825716bc35c78a24', 'keyword': '国泰基金怎么样', 'brand': '国泰基金', 'platform_id': '4', 'gather_date': '2026-05-07', 'gather_time': '06:00', 'gather_filter': '2026-05-07 00:30:01', 'status': 2, 'retry_count': 1, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-07 09:06:04', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-07 00:30:10', 'update_time': '2026-05-07 09:06:04', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
|
||||
|
logger.info(f'获取任务响应: {task_resp}') |
||||
|
|
||||
|
if not task_resp: |
||||
|
logger.info("get_task 未返回有效数据,等待后重试") |
||||
|
time.sleep(5) |
||||
|
return True |
||||
|
|
||||
|
task_data = task_resp.get("data", False) |
||||
|
if not task_data: |
||||
|
logger.info("没有任务数据,等待下一轮") |
||||
|
time.sleep(30) |
||||
|
return True |
||||
|
self.process_task(task_data) |
||||
|
|
||||
|
|
||||
|
return True |
||||
|
|
||||
|
def run(self): |
||||
|
"""主循环""" |
||||
|
logger.info("DeepSeek单线程爬虫启动") |
||||
|
while True: |
||||
|
try: |
||||
|
self.start_task_msg() |
||||
|
except Exception as e: |
||||
|
logger.error(f"主循环异常: {e}") |
||||
|
time.sleep(10) |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
Start().run() |
||||
@ -0,0 +1,71 @@ |
|||||
|
# ds_call.py |
||||
|
import json |
||||
|
import subprocess |
||||
|
import pathlib |
||||
|
import time |
||||
|
|
||||
|
def calc_pow_with_node( |
||||
|
node_runner_path: str, |
||||
|
wasm_path: str, |
||||
|
algorithm: str, |
||||
|
challenge: str, |
||||
|
salt: str, |
||||
|
difficulty: int, |
||||
|
expire_at: int, |
||||
|
timeout: int = 120, |
||||
|
): |
||||
|
""" |
||||
|
通过 Node 的 runner 调 ds.js + wasm,返回 {"ok": bool, "answer": number|None, "error"?: str} |
||||
|
""" |
||||
|
payload = { |
||||
|
"wasmPath": wasm_path, |
||||
|
"algorithm": algorithm, |
||||
|
"challenge": challenge, |
||||
|
"salt": salt, |
||||
|
"difficulty": difficulty, |
||||
|
"expireAt": expire_at, |
||||
|
} |
||||
|
print("pload",payload) |
||||
|
proc = subprocess.run( |
||||
|
["node", node_runner_path], |
||||
|
input=json.dumps(payload), |
||||
|
text=True, |
||||
|
capture_output=True, |
||||
|
timeout=timeout, |
||||
|
cwd=str(pathlib.Path(node_runner_path).resolve().parent), |
||||
|
) |
||||
|
out = proc.stdout.strip() |
||||
|
if proc.returncode != 0: |
||||
|
# Node 可能也输出了 JSON,尽量解析 |
||||
|
try: |
||||
|
data = json.loads(out or "{}") |
||||
|
except Exception: |
||||
|
data = {"ok": False, "error": f"node exited {proc.returncode}: {proc.stderr}"} |
||||
|
return data |
||||
|
try: |
||||
|
return json.loads(out) |
||||
|
except Exception as e: |
||||
|
return {"ok": False, "error": f"invalid JSON from node: {e}", "_raw": out} |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
base = pathlib.Path(__file__).resolve().parent |
||||
|
js_data_path = base / "js_data" |
||||
|
|
||||
|
# 1) 指向 js_data 文件夹中的 Node 小封装 |
||||
|
node_runner = str(js_data_path / "js_runner.js") |
||||
|
|
||||
|
# 2) 指向 js_data 文件夹中的 wasm 文件 |
||||
|
wasm_file = str(js_data_path / "sha3_wasm_bg.wasm") |
||||
|
|
||||
|
# 3) 用你给的那组参数 |
||||
|
res = calc_pow_with_node( |
||||
|
node_runner_path=node_runner, |
||||
|
wasm_path=wasm_file, |
||||
|
algorithm="DeepSeekHashV1", |
||||
|
challenge="b9eea2caa6f7da27d6bb7aa3a1a34e77669029095f3362a1781d349ebfedff7f", |
||||
|
salt="a2b3975c7401892ea34d", |
||||
|
difficulty=144000, |
||||
|
expire_at=1760945235071, |
||||
|
) |
||||
|
print(res) |
||||
@ -0,0 +1,113 @@ |
|||||
|
// ds.js —— 无需 fs-extra 的版本(CommonJS)
|
||||
|
const fs = require('fs').promises; // 用内置 fs.promises
|
||||
|
|
||||
|
class DeepSeekHash { |
||||
|
constructor() { |
||||
|
this.wasmInstance = null; |
||||
|
this.offset = 0; |
||||
|
this.cachedUint8Memory = null; |
||||
|
this.cachedTextEncoder = new TextEncoder(); |
||||
|
this._lastBufferRef = null; // 记录上次的 buffer,内存增长时刷新
|
||||
|
} |
||||
|
|
||||
|
_refreshIfNeeded() { |
||||
|
const buf = this.wasmInstance.memory.buffer; |
||||
|
if (this._lastBufferRef !== buf) { |
||||
|
this.cachedUint8Memory = new Uint8Array(buf); |
||||
|
this._lastBufferRef = buf; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
getCachedUint8Memory() { |
||||
|
if (!this.wasmInstance || !this.wasmInstance.memory) { |
||||
|
throw new Error('WASM instance not initialized'); |
||||
|
} |
||||
|
this._refreshIfNeeded(); |
||||
|
return this.cachedUint8Memory; |
||||
|
} |
||||
|
|
||||
|
encodeString(text, allocate, reallocate) { |
||||
|
if (!reallocate) { |
||||
|
const encoded = this.cachedTextEncoder.encode(text); |
||||
|
const ptr = allocate(encoded.length, 1) >>> 0; |
||||
|
const memory = this.getCachedUint8Memory(); |
||||
|
memory.subarray(ptr, ptr + encoded.length).set(encoded); |
||||
|
this.offset = encoded.length; |
||||
|
return ptr; |
||||
|
} |
||||
|
const strLength = text.length; |
||||
|
let ptr = allocate(strLength, 1) >>> 0; |
||||
|
const memory = this.getCachedUint8Memory(); |
||||
|
let asciiLength = 0; |
||||
|
for (; asciiLength < strLength; asciiLength++) { |
||||
|
const cc = text.charCodeAt(asciiLength); |
||||
|
if (cc > 127) break; |
||||
|
memory[ptr + asciiLength] = cc; |
||||
|
} |
||||
|
if (asciiLength !== strLength) { |
||||
|
if (asciiLength > 0) text = text.slice(asciiLength); |
||||
|
ptr = reallocate(ptr, strLength, asciiLength + text.length * 3, 1) >>> 0; |
||||
|
const view = this.getCachedUint8Memory().subarray( |
||||
|
ptr + asciiLength, |
||||
|
ptr + asciiLength + text.length * 3 |
||||
|
); |
||||
|
const res = this.cachedTextEncoder.encodeInto(text, view); |
||||
|
asciiLength += res.written; |
||||
|
ptr = reallocate(ptr, asciiLength + text.length * 3, asciiLength, 1) >>> 0; |
||||
|
} |
||||
|
this.offset = asciiLength; |
||||
|
return ptr; |
||||
|
} |
||||
|
|
||||
|
calculateHash(algorithm, challenge, salt, difficulty, expireAt) { |
||||
|
if (algorithm !== 'DeepSeekHashV1') { |
||||
|
throw new Error('Unsupported algorithm: ' + algorithm); |
||||
|
} |
||||
|
const prefix = `${salt}_${expireAt}_`; |
||||
|
let retptr; |
||||
|
try { |
||||
|
retptr = this.wasmInstance.__wbindgen_add_to_stack_pointer(-16); |
||||
|
|
||||
|
const ptr0 = this.encodeString( |
||||
|
challenge, |
||||
|
this.wasmInstance.__wbindgen_export_0, |
||||
|
this.wasmInstance.__wbindgen_export_1 |
||||
|
); |
||||
|
const len0 = this.offset; |
||||
|
|
||||
|
const ptr1 = this.encodeString( |
||||
|
prefix, |
||||
|
this.wasmInstance.__wbindgen_export_0, |
||||
|
this.wasmInstance.__wbindgen_export_1 |
||||
|
); |
||||
|
const len1 = this.offset; |
||||
|
|
||||
|
this.wasmInstance.wasm_solve(retptr, ptr0, len0, ptr1, len1, difficulty); |
||||
|
|
||||
|
// 读取返回(注意内存可能增长,先刷新)
|
||||
|
this._refreshIfNeeded(); |
||||
|
const dv = new DataView(this.wasmInstance.memory.buffer); |
||||
|
const status = dv.getInt32(retptr + 0, true); |
||||
|
const value = dv.getFloat64(retptr + 8, true); |
||||
|
|
||||
|
if (status === 0) return undefined; |
||||
|
return value; |
||||
|
} finally { |
||||
|
if (retptr !== undefined) { |
||||
|
this.wasmInstance.__wbindgen_add_to_stack_pointer(16); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
async init(wasmPath) { |
||||
|
const imports = { wbg: {} }; // 若报缺少导入,需改用对应的 glue JS
|
||||
|
const wasmBuffer = await fs.readFile(wasmPath); |
||||
|
const { instance } = await WebAssembly.instantiate(wasmBuffer, imports); |
||||
|
this.wasmInstance = instance.exports; |
||||
|
this._lastBufferRef = this.wasmInstance.memory.buffer; |
||||
|
this.cachedUint8Memory = new Uint8Array(this._lastBufferRef); |
||||
|
return this.wasmInstance; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
module.exports = DeepSeekHash; |
||||
@ -0,0 +1,31 @@ |
|||||
|
// ds_runner.js
|
||||
|
const path = require('path'); |
||||
|
const DeepSeekHash = require('./ds'); // 就是你那份不依赖 fs-extra 的 ds.js
|
||||
|
|
||||
|
async function main() { |
||||
|
// 读取 stdin
|
||||
|
const input = await new Promise((resolve, reject) => { |
||||
|
let s = ''; |
||||
|
process.stdin.setEncoding('utf8'); |
||||
|
process.stdin.on('data', c => s += c); |
||||
|
process.stdin.on('end', () => resolve(s)); |
||||
|
process.stdin.on('error', reject); |
||||
|
}); |
||||
|
const p = JSON.parse(input || '{}'); |
||||
|
|
||||
|
const wasmPath = p.wasmPath || path.join(__dirname, 'sha3_wasm_bg.wasm'); |
||||
|
|
||||
|
const dsh = new DeepSeekHash(); |
||||
|
await dsh.init(wasmPath); |
||||
|
|
||||
|
const ans = dsh.calculateHash( |
||||
|
p.algorithm, p.challenge, p.salt, p.difficulty, p.expireAt |
||||
|
); |
||||
|
|
||||
|
process.stdout.write(JSON.stringify({ ok: true, answer: ans })); |
||||
|
} |
||||
|
|
||||
|
main().catch(err => { |
||||
|
process.stdout.write(JSON.stringify({ ok: false, error: String(err && err.stack || err) })); |
||||
|
process.exitCode = 1; |
||||
|
}); |
||||
96
deepseek.log
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,494 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
""" |
||||
|
DeepSeek Web API 单线程版本 |
||||
|
- 参考 kimistart.py 的类结构 |
||||
|
- 使用 loguru 日志系统 |
||||
|
- 单线程循环处理任务 |
||||
|
""" |
||||
|
|
||||
|
import base64 |
||||
|
import json |
||||
|
import os |
||||
|
import pathlib |
||||
|
import random |
||||
|
import re |
||||
|
import string |
||||
|
import time |
||||
|
from datetime import datetime |
||||
|
from json import JSONDecodeError |
||||
|
from typing import Dict, List, Optional, Tuple |
||||
|
|
||||
|
import requests |
||||
|
from glom import glom |
||||
|
from loguru import logger |
||||
|
|
||||
|
from deep.ai_seo import AiSearchResult |
||||
|
from deep.ds_test import calc_pow_with_node |
||||
|
from utlit.retry import retry |
||||
|
|
||||
|
# 配置日志 |
||||
|
cwd = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
||||
|
logger.add(f"{cwd}/deepseek.log", |
||||
|
level="DEBUG", |
||||
|
rotation="00:00", |
||||
|
retention="3 days", |
||||
|
compression="zip", |
||||
|
backtrace=True) |
||||
|
|
||||
|
# 常量配置 |
||||
|
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" |
||||
|
ORIGIN = "https://chat.deepseek.com" |
||||
|
REFERER = "https://chat.deepseek.com/" |
||||
|
|
||||
|
BASE = "https://chat.deepseek.com" |
||||
|
SESSION_CREATE = f"{BASE}/api/v0/chat_session/create" |
||||
|
POW_CHALLENGE = f"{BASE}/api/v0/chat/create_pow_challenge" |
||||
|
CHAT_COMPLETION = f"{BASE}/api/v0/chat/completion" |
||||
|
|
||||
|
TASK_URL = 'https://api.granking.com' |
||||
|
TASK_HOST = 'api.granking.com' |
||||
|
|
||||
|
|
||||
|
class ToolsLoad: |
||||
|
"""工具类:处理API请求和会话管理""" |
||||
|
|
||||
|
@retry('获取deepseek cookie', 0, time_sleep=30) |
||||
|
def get_cookie(self, platform_id="1"): |
||||
|
url = "http://granking-api.neicela.com/api/third/getOneSpiderSession?platform_id=" + platform_id + "&app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4" |
||||
|
payload = {} |
||||
|
headers = { |
||||
|
'Authorization': 'Bearer ', |
||||
|
'User-Agent': 'Apifox/1.0.0 (http://apifox.com)' |
||||
|
} |
||||
|
response = requests.request("GET", url, headers=headers, data=payload).json() |
||||
|
if response.get("data", []) == []: |
||||
|
logger.warning(f'没有获取到cookie: {response}') |
||||
|
return False |
||||
|
logger.info(f'成功获取到cookie: {response.get("data")}') |
||||
|
return response.get("data") |
||||
|
|
||||
|
@retry('上传cookie状态', 5) |
||||
|
def update_session(self, id, reload_time, status="4"): |
||||
|
url = "http://granking-api.neicela.com/api/third/updateSpiderSession?app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4" |
||||
|
payload = json.dumps({ |
||||
|
"id": id, |
||||
|
"status": status, |
||||
|
"reload_time": reload_time |
||||
|
}) |
||||
|
headers = { |
||||
|
'lang': '{{lang}}', |
||||
|
'Authorization': 'Bearer ', |
||||
|
'User-Agent': 'Apifox/1.0.0 (http://apifox.com)', |
||||
|
'Content-Type': 'application/json' |
||||
|
} |
||||
|
response = requests.request("POST", url, headers=headers, data=payload) |
||||
|
logger.info(f'更新session状态: {response.text}') |
||||
|
return response.text |
||||
|
|
||||
|
@retry('提交结果', 5) |
||||
|
def post_task(self, data): |
||||
|
url = f"{TASK_URL}/api/third/submitProjectTask" |
||||
|
headers = { |
||||
|
'User-Agent': 'Apifox/1.0.0 (http://apifox.com)', |
||||
|
'Content-Type': 'application/json', |
||||
|
'Accept': '*/*', |
||||
|
'Host': TASK_HOST, |
||||
|
'Connection': 'keep-alive', |
||||
|
'Cookie': 'lang=zh-cn' |
||||
|
} |
||||
|
resp = requests.post(url, headers=headers, json=data, timeout=(5, 300)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
@retry('获取task消息', 5) |
||||
|
def get_task(self): |
||||
|
url = f"{TASK_URL}/api/third/getTask?app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4&platform_ids=1" |
||||
|
resp = requests.get(url, timeout=(5, 20)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
@retry('更新任务状态', 5) |
||||
|
def update_task_status(self, task_id, status): |
||||
|
url = f"{TASK_URL}/api/third/updateTask?app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4" |
||||
|
payload = json.dumps({ |
||||
|
"task_id": task_id, |
||||
|
"status": status, |
||||
|
}) |
||||
|
headers = { |
||||
|
'User-Agent': 'Apifox/1.0.0 (http://apifox.com)', |
||||
|
'Content-Type': 'application/json', |
||||
|
'Accept': '*/*', |
||||
|
'Host': 'xunliu-api.ecps.com.cn', |
||||
|
'Connection': 'keep-alive', |
||||
|
'Cookie': 'lang=zh-cn' |
||||
|
} |
||||
|
response = requests.request("POST", url, headers=headers, data=payload) |
||||
|
return response.json() |
||||
|
|
||||
|
def get_leim(self): |
||||
|
url = 'https://hif-leim.deepseek.com/query' |
||||
|
resp = requests.get(url) |
||||
|
return resp.json().get("data").get("biz_data").get("value") |
||||
|
|
||||
|
|
||||
|
class DeepSeekChatClient: |
||||
|
"""DeepSeek聊天客户端""" |
||||
|
|
||||
|
def __init__(self): |
||||
|
self.base_path = pathlib.Path(__file__).resolve().parent |
||||
|
self.js_data_path = self.base_path / "js_data" |
||||
|
self.tools = ToolsLoad() |
||||
|
|
||||
|
def default_headers(self, extra: Optional[Dict[str, str]] = None) -> Dict[str, str]: |
||||
|
h = { |
||||
|
"Authorization": '', |
||||
|
"Content-Type": "application/json", |
||||
|
"Origin": ORIGIN, |
||||
|
"Referer": REFERER, |
||||
|
"User-Agent": USER_AGENT, |
||||
|
"Accept": "*/*", |
||||
|
} |
||||
|
if extra: |
||||
|
h.update(extra) |
||||
|
return h |
||||
|
|
||||
|
def create_chat_session(self, cookie) -> dict: |
||||
|
"""创建聊天会话""" |
||||
|
r = requests.post(SESSION_CREATE, headers=self.default_headers({"Authorization": cookie}), json={}, timeout=30) |
||||
|
r.raise_for_status() |
||||
|
data = r.json() |
||||
|
# 兼容多种结构 |
||||
|
if isinstance(data, dict) and "id" in data and isinstance(data["id"], str): |
||||
|
return {"id": data["id"]} |
||||
|
if isinstance(data.get("data"), dict): |
||||
|
if isinstance(data["data"].get("id"), str): |
||||
|
return {"id": data["data"]["id"]} |
||||
|
if isinstance(data["data"].get("data"), dict) and isinstance(data["data"]["data"].get("id"), str): |
||||
|
return {"id": data["data"]["data"]["id"]} |
||||
|
biz_data = data["data"].get("biz_data") |
||||
|
if isinstance(biz_data, dict) and isinstance(biz_data.get("id"), str): |
||||
|
return biz_data |
||||
|
return biz_data |
||||
|
raise ValueError(f"无法解析 chat_session_id:{data}") |
||||
|
|
||||
|
def fetch_pow_challenge(self, cookie, target_path="/api/v0/chat/completion") -> dict: |
||||
|
"""获取PoW挑战""" |
||||
|
r = requests.post( |
||||
|
POW_CHALLENGE, |
||||
|
headers=self.default_headers({"Authorization": cookie}), |
||||
|
json={"target_path": target_path}, |
||||
|
timeout=30, |
||||
|
) |
||||
|
r.raise_for_status() |
||||
|
data = r.json() |
||||
|
ch = data.get("data", {}).get("biz_data", {}).get("challenge") |
||||
|
if not ch: |
||||
|
raise RuntimeError(f"挑战返回结构异常:{data}") |
||||
|
return ch |
||||
|
|
||||
|
def solve_answer_fixed_sig(self, challenge_obj: dict) -> int: |
||||
|
"""求解PoW答案""" |
||||
|
logger.debug(f"开始求解PoW: {challenge_obj}") |
||||
|
ch = challenge_obj["challenge"] |
||||
|
salt = challenge_obj["salt"] |
||||
|
lim = int(challenge_obj.get("difficulty", 200000)) |
||||
|
expire_at = challenge_obj["expire_at"] |
||||
|
|
||||
|
# 指向 js_data 文件夹中的文件 |
||||
|
node_runner = str(self.js_data_path / "js_runner.js") |
||||
|
wasm_file = str(self.js_data_path / "sha3_wasm_bg.wasm") |
||||
|
|
||||
|
res = calc_pow_with_node( |
||||
|
node_runner_path=node_runner, |
||||
|
wasm_path=wasm_file, |
||||
|
algorithm="DeepSeekHashV1", |
||||
|
challenge=ch, |
||||
|
salt=salt, |
||||
|
difficulty=lim, |
||||
|
expire_at=expire_at, |
||||
|
) |
||||
|
logger.info(f"PoW求解结果: {res}") |
||||
|
return res.get("answer") |
||||
|
|
||||
|
def pow_to_header_value(self, algorithm: str, challenge: str, salt: str, answer: int, signature: str, target_path: str) -> str: |
||||
|
"""组装x-ds-pow-response头""" |
||||
|
payload = { |
||||
|
'algorithm': algorithm, |
||||
|
'challenge': challenge, |
||||
|
'salt': salt, |
||||
|
'answer': answer, |
||||
|
'signature': signature, |
||||
|
'target_path': target_path |
||||
|
} |
||||
|
raw = json.dumps(payload, ensure_ascii=False).encode("utf-8") |
||||
|
return base64.b64encode(raw).decode("ascii") |
||||
|
|
||||
|
def ensure_valid_challenge(self, cookie) -> dict: |
||||
|
"""获取未过期的挑战""" |
||||
|
while True: |
||||
|
ch = self.fetch_pow_challenge(cookie, "/api/v0/chat/completion") |
||||
|
now_ms = int(time.time() * 1000) |
||||
|
expire_at = int(ch.get("expire_at", now_ms + 1)) |
||||
|
if expire_at - now_ms > 5000: |
||||
|
return ch |
||||
|
time.sleep(0.2) |
||||
|
|
||||
|
def sse_chat_completion( |
||||
|
self, |
||||
|
chat_session_id: dict, |
||||
|
prompt: str, |
||||
|
cookie: str, |
||||
|
thinking_enabled: bool = False, |
||||
|
search_enabled: bool = True, |
||||
|
parent_message_id: Optional[str] = None, |
||||
|
client_stream_id: Optional[str] = None, |
||||
|
) -> Tuple[List[Dict], str, str]: |
||||
|
"""SSE聊天请求,返回搜索结果、回答、思考内容""" |
||||
|
# 1) 取挑战 |
||||
|
ch = self.ensure_valid_challenge(cookie) |
||||
|
algorithm = ch.get("algorithm", "DeepSeekHashV1") |
||||
|
challenge = ch["challenge"] |
||||
|
salt = ch["salt"] |
||||
|
signature = ch["signature"] |
||||
|
target_path = ch.get("target_path", "/api/v0/chat/completion") |
||||
|
|
||||
|
# 2) 求解answer |
||||
|
answer = self.solve_answer_fixed_sig(ch) |
||||
|
logger.info(f"PoW answer: {answer}") |
||||
|
|
||||
|
# 3) 组装x-ds-pow-response |
||||
|
xpow = self.pow_to_header_value( |
||||
|
algorithm=algorithm, |
||||
|
challenge=challenge, |
||||
|
salt=salt, |
||||
|
answer=answer, |
||||
|
signature=signature, |
||||
|
target_path=target_path, |
||||
|
) |
||||
|
|
||||
|
# 4) 构建请求头 |
||||
|
h = self.default_headers({"x-ds-pow-response": xpow, "Authorization": cookie}) |
||||
|
h["x-hif-leim"] = self.tools.get_leim() |
||||
|
|
||||
|
if not client_stream_id: |
||||
|
client_stream_id = f"{time.strftime('%Y%m%d')}" |
||||
|
|
||||
|
payload = { |
||||
|
"chat_session_id": chat_session_id.get("id"), |
||||
|
"parent_message_id": parent_message_id, |
||||
|
"prompt": prompt, |
||||
|
"ref_file_ids": [], |
||||
|
"thinking_enabled": thinking_enabled, |
||||
|
"search_enabled": search_enabled, |
||||
|
"client_stream_id": client_stream_id + "-3e910d848b6140d5", |
||||
|
} |
||||
|
|
||||
|
# 5) 发送SSE请求 |
||||
|
with requests.post( |
||||
|
CHAT_COMPLETION, headers=h, json=payload, stream=True, timeout=300 |
||||
|
) as resp: |
||||
|
resp.raise_for_status() |
||||
|
response_text = '' |
||||
|
thinking_text = '' |
||||
|
search_result_lists = list() |
||||
|
start_content = False |
||||
|
start_thinking = False |
||||
|
|
||||
|
for raw in resp.iter_lines(decode_unicode=True): |
||||
|
if not raw: |
||||
|
continue |
||||
|
line = raw.strip() |
||||
|
# print(line,end=' ') |
||||
|
data_str = line[6:] if line.startswith("data: ") else line |
||||
|
|
||||
|
if data_str == "[DONE]": |
||||
|
logger.info("SSE流结束") |
||||
|
break |
||||
|
|
||||
|
try: |
||||
|
data = json.loads(data_str) |
||||
|
if glom(data, 'v.0.v', default='') == 'TIMEOUT': |
||||
|
logger.warning("DeepSeek服务器繁忙") |
||||
|
except JSONDecodeError: |
||||
|
continue |
||||
|
|
||||
|
# 获取搜索结果 |
||||
|
if data.get('p', '') == 'response/search_results' and isinstance(data.get('v', ''), list): |
||||
|
logger.info("获取到联网搜索结果") |
||||
|
search_result_list = data.get('v', []) |
||||
|
search_result_lists.extend(search_result_list) |
||||
|
|
||||
|
# 深度思考数据 |
||||
|
if data.get('p', '') == 'response/thinking_content': |
||||
|
start_thinking = True |
||||
|
if data.get('p', '') == 'response/thinking_elapsed_secs': |
||||
|
start_thinking = False |
||||
|
if start_thinking: |
||||
|
value = data.get('v', None) |
||||
|
if isinstance(value, dict): |
||||
|
continue |
||||
|
if value is None: |
||||
|
value = glom(data, 'choices.0.delta.content', default="") |
||||
|
thinking_text = thinking_text + str(value) |
||||
|
|
||||
|
# 回复数据 |
||||
|
if data.get('p', '') == 'response/content': |
||||
|
start_content = True |
||||
|
if start_content: |
||||
|
value = data.get('v', None) |
||||
|
if isinstance(value, dict): |
||||
|
continue |
||||
|
if value is None: |
||||
|
value = glom(data, 'choices.0.delta.content', default="") |
||||
|
response_text = response_text + str(value) |
||||
|
|
||||
|
# 处理引用 |
||||
|
citation = list() |
||||
|
citations = re.findall(r'citation:(\d+)', response_text) |
||||
|
if citations: |
||||
|
citation = list(set(citations)) |
||||
|
|
||||
|
# 构建搜索结果列表 |
||||
|
ai_search_result_list = [] |
||||
|
for index, search_result in enumerate(search_result_lists): |
||||
|
dic = { |
||||
|
"url": search_result.get('url', ''), |
||||
|
"title": search_result.get('title', ''), |
||||
|
"body": search_result.get('snippet', ''), |
||||
|
"publish_time": search_result.get('published_at', ''), |
||||
|
"host_name": search_result.get('site_name', '未知'), |
||||
|
"is_referenced": "1" if str(index + 1) in citation else "0" |
||||
|
} |
||||
|
if dic.get("title") and dic.get("url"): |
||||
|
ai_search_result_list.append(dic) |
||||
|
|
||||
|
return ai_search_result_list, response_text, thinking_text |
||||
|
|
||||
|
|
||||
|
class Start: |
||||
|
"""主启动类""" |
||||
|
|
||||
|
def __init__(self): |
||||
|
self.tools = ToolsLoad() |
||||
|
self.client = DeepSeekChatClient() |
||||
|
|
||||
|
@retry('处理消息任务', for_work=10) |
||||
|
def process_task(self, task): |
||||
|
"""处理单个任务""" |
||||
|
task_id = task.get("id", "") |
||||
|
keyword = task.get("keyword", "") |
||||
|
platform_id = task.get("platform_id", "") |
||||
|
brand = task.get("brand", "") |
||||
|
|
||||
|
logger.info(f"开始处理任务: {keyword} | task_id: {task_id}") |
||||
|
|
||||
|
# 获取cookie |
||||
|
response = self.tools.get_cookie(platform_id="1") |
||||
|
if not response: |
||||
|
logger.warning(f'cookie获取失败') |
||||
|
return False |
||||
|
|
||||
|
cookie = response.get("cookie") |
||||
|
cookie_id = response.get("id") |
||||
|
|
||||
|
if not cookie: |
||||
|
logger.warning(f'cookie为空') |
||||
|
return False |
||||
|
|
||||
|
try: |
||||
|
# 创建会话 |
||||
|
logger.info("创建chat_session...") |
||||
|
session_id = self.client.create_chat_session(cookie) |
||||
|
logger.info(f"新建chat_session_id: {session_id}") |
||||
|
|
||||
|
# 发送聊天请求 |
||||
|
logger.info(f"发送prompt: {keyword}") |
||||
|
ai_search_result_list, answer, thinking = self.client.sse_chat_completion( |
||||
|
chat_session_id=session_id, |
||||
|
prompt=keyword, |
||||
|
cookie=cookie, |
||||
|
thinking_enabled=True, |
||||
|
search_enabled=True, |
||||
|
) |
||||
|
if 'answer' == '': |
||||
|
print('异常结果',ai_search_result_list, answer, thinking) |
||||
|
return False |
||||
|
|
||||
|
# 构建结果 |
||||
|
now_dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") |
||||
|
result = { |
||||
|
'app_id': 'aa65700299848d6f21b969dbc9f6cf7c', |
||||
|
'secret': '5588071d36f0bc61af849c311a03f2c4', |
||||
|
'platform_id': platform_id, |
||||
|
'platform_name': 'deepseek', |
||||
|
'prompt': keyword, |
||||
|
'keyword': brand, |
||||
|
'answer': answer, |
||||
|
'search_result': ai_search_result_list, |
||||
|
'screenshot_file': '', |
||||
|
'run_status': True, |
||||
|
'task_id': task_id, |
||||
|
'rank': 0, |
||||
|
'start_time': now_dt, |
||||
|
'end_time': now_dt, |
||||
|
'screenshot_url': '', |
||||
|
'words': [] |
||||
|
} |
||||
|
|
||||
|
# 提交结果 |
||||
|
post_resp = self.tools.post_task(result) |
||||
|
# print('\n') |
||||
|
# print('\n') |
||||
|
print(result) |
||||
|
logger.info(f"任务 {task_id} 提交返回: {post_resp}") |
||||
|
return result |
||||
|
|
||||
|
except Exception as e: |
||||
|
error_msg = str(e) |
||||
|
logger.error(f"任务 {task_id} 处理异常: {error_msg}") |
||||
|
|
||||
|
# token失效处理 |
||||
|
if "Authorization Failed (invalid token)" in error_msg: |
||||
|
self.tools.update_session(cookie_id, "full_datetime", "2") |
||||
|
|
||||
|
# 更新任务状态为失败 |
||||
|
if task_id: |
||||
|
self.tools.update_task_status(task_id, "4") |
||||
|
raise |
||||
|
|
||||
|
@retry('主运行窗口', for_work=1) |
||||
|
def start_task_msg(self): |
||||
|
"""获取并处理任务""" |
||||
|
task_resp = self.tools.get_task() |
||||
|
# task_resp = {'code': 0, 'msg': 'success', 'data': {'id': 'e07a6ffddf62a61c8072a0d2d518a655', 'project_id': '019b97b0da35706a9f5aba211a201226', 'keyword_id': '019b97bc96c573b1825716bc35c78a24', 'keyword': '国泰基金怎么样', 'brand': '国泰基金', 'platform_id': '4', 'gather_date': '2026-05-07', 'gather_time': '06:00', 'gather_filter': '2026-05-07 00:30:01', 'status': 2, 'retry_count': 1, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-07 09:06:04', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-07 00:30:10', 'update_time': '2026-05-07 09:06:04', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
|
||||
|
logger.info(f'获取任务响应: {task_resp}') |
||||
|
|
||||
|
if not task_resp: |
||||
|
logger.info("get_task 未返回有效数据,等待后重试") |
||||
|
time.sleep(5) |
||||
|
return True |
||||
|
|
||||
|
task_data = task_resp.get("data", False) |
||||
|
if not task_data: |
||||
|
logger.info("没有任务数据,等待下一轮") |
||||
|
time.sleep(30) |
||||
|
return True |
||||
|
self.process_task(task_data) |
||||
|
|
||||
|
|
||||
|
return True |
||||
|
|
||||
|
def run(self): |
||||
|
"""主循环""" |
||||
|
logger.info("DeepSeek单线程爬虫启动") |
||||
|
while True: |
||||
|
try: |
||||
|
self.start_task_msg() |
||||
|
except Exception as e: |
||||
|
logger.error(f"主循环异常: {e}") |
||||
|
time.sleep(10) |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
Start().run() |
||||
@ -0,0 +1,113 @@ |
|||||
|
// ds.js —— 无需 fs-extra 的版本(CommonJS)
|
||||
|
const fs = require('fs').promises; // 用内置 fs.promises
|
||||
|
|
||||
|
class DeepSeekHash { |
||||
|
constructor() { |
||||
|
this.wasmInstance = null; |
||||
|
this.offset = 0; |
||||
|
this.cachedUint8Memory = null; |
||||
|
this.cachedTextEncoder = new TextEncoder(); |
||||
|
this._lastBufferRef = null; // 记录上次的 buffer,内存增长时刷新
|
||||
|
} |
||||
|
|
||||
|
_refreshIfNeeded() { |
||||
|
const buf = this.wasmInstance.memory.buffer; |
||||
|
if (this._lastBufferRef !== buf) { |
||||
|
this.cachedUint8Memory = new Uint8Array(buf); |
||||
|
this._lastBufferRef = buf; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
getCachedUint8Memory() { |
||||
|
if (!this.wasmInstance || !this.wasmInstance.memory) { |
||||
|
throw new Error('WASM instance not initialized'); |
||||
|
} |
||||
|
this._refreshIfNeeded(); |
||||
|
return this.cachedUint8Memory; |
||||
|
} |
||||
|
|
||||
|
encodeString(text, allocate, reallocate) { |
||||
|
if (!reallocate) { |
||||
|
const encoded = this.cachedTextEncoder.encode(text); |
||||
|
const ptr = allocate(encoded.length, 1) >>> 0; |
||||
|
const memory = this.getCachedUint8Memory(); |
||||
|
memory.subarray(ptr, ptr + encoded.length).set(encoded); |
||||
|
this.offset = encoded.length; |
||||
|
return ptr; |
||||
|
} |
||||
|
const strLength = text.length; |
||||
|
let ptr = allocate(strLength, 1) >>> 0; |
||||
|
const memory = this.getCachedUint8Memory(); |
||||
|
let asciiLength = 0; |
||||
|
for (; asciiLength < strLength; asciiLength++) { |
||||
|
const cc = text.charCodeAt(asciiLength); |
||||
|
if (cc > 127) break; |
||||
|
memory[ptr + asciiLength] = cc; |
||||
|
} |
||||
|
if (asciiLength !== strLength) { |
||||
|
if (asciiLength > 0) text = text.slice(asciiLength); |
||||
|
ptr = reallocate(ptr, strLength, asciiLength + text.length * 3, 1) >>> 0; |
||||
|
const view = this.getCachedUint8Memory().subarray( |
||||
|
ptr + asciiLength, |
||||
|
ptr + asciiLength + text.length * 3 |
||||
|
); |
||||
|
const res = this.cachedTextEncoder.encodeInto(text, view); |
||||
|
asciiLength += res.written; |
||||
|
ptr = reallocate(ptr, asciiLength + text.length * 3, asciiLength, 1) >>> 0; |
||||
|
} |
||||
|
this.offset = asciiLength; |
||||
|
return ptr; |
||||
|
} |
||||
|
|
||||
|
calculateHash(algorithm, challenge, salt, difficulty, expireAt) { |
||||
|
if (algorithm !== 'DeepSeekHashV1') { |
||||
|
throw new Error('Unsupported algorithm: ' + algorithm); |
||||
|
} |
||||
|
const prefix = `${salt}_${expireAt}_`; |
||||
|
let retptr; |
||||
|
try { |
||||
|
retptr = this.wasmInstance.__wbindgen_add_to_stack_pointer(-16); |
||||
|
|
||||
|
const ptr0 = this.encodeString( |
||||
|
challenge, |
||||
|
this.wasmInstance.__wbindgen_export_0, |
||||
|
this.wasmInstance.__wbindgen_export_1 |
||||
|
); |
||||
|
const len0 = this.offset; |
||||
|
|
||||
|
const ptr1 = this.encodeString( |
||||
|
prefix, |
||||
|
this.wasmInstance.__wbindgen_export_0, |
||||
|
this.wasmInstance.__wbindgen_export_1 |
||||
|
); |
||||
|
const len1 = this.offset; |
||||
|
|
||||
|
this.wasmInstance.wasm_solve(retptr, ptr0, len0, ptr1, len1, difficulty); |
||||
|
|
||||
|
// 读取返回(注意内存可能增长,先刷新)
|
||||
|
this._refreshIfNeeded(); |
||||
|
const dv = new DataView(this.wasmInstance.memory.buffer); |
||||
|
const status = dv.getInt32(retptr + 0, true); |
||||
|
const value = dv.getFloat64(retptr + 8, true); |
||||
|
|
||||
|
if (status === 0) return undefined; |
||||
|
return value; |
||||
|
} finally { |
||||
|
if (retptr !== undefined) { |
||||
|
this.wasmInstance.__wbindgen_add_to_stack_pointer(16); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
async init(wasmPath) { |
||||
|
const imports = { wbg: {} }; // 若报缺少导入,需改用对应的 glue JS
|
||||
|
const wasmBuffer = await fs.readFile(wasmPath); |
||||
|
const { instance } = await WebAssembly.instantiate(wasmBuffer, imports); |
||||
|
this.wasmInstance = instance.exports; |
||||
|
this._lastBufferRef = this.wasmInstance.memory.buffer; |
||||
|
this.cachedUint8Memory = new Uint8Array(this._lastBufferRef); |
||||
|
return this.wasmInstance; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
module.exports = DeepSeekHash; |
||||
@ -0,0 +1,31 @@ |
|||||
|
// ds_runner.js
|
||||
|
const path = require('path'); |
||||
|
const DeepSeekHash = require('./ds'); // 就是你那份不依赖 fs-extra 的 ds.js
|
||||
|
|
||||
|
async function main() { |
||||
|
// 读取 stdin
|
||||
|
const input = await new Promise((resolve, reject) => { |
||||
|
let s = ''; |
||||
|
process.stdin.setEncoding('utf8'); |
||||
|
process.stdin.on('data', c => s += c); |
||||
|
process.stdin.on('end', () => resolve(s)); |
||||
|
process.stdin.on('error', reject); |
||||
|
}); |
||||
|
const p = JSON.parse(input || '{}'); |
||||
|
|
||||
|
const wasmPath = p.wasmPath || path.join(__dirname, 'sha3_wasm_bg.wasm'); |
||||
|
|
||||
|
const dsh = new DeepSeekHash(); |
||||
|
await dsh.init(wasmPath); |
||||
|
|
||||
|
const ans = dsh.calculateHash( |
||||
|
p.algorithm, p.challenge, p.salt, p.difficulty, p.expireAt |
||||
|
); |
||||
|
|
||||
|
process.stdout.write(JSON.stringify({ ok: true, answer: ans })); |
||||
|
} |
||||
|
|
||||
|
main().catch(err => { |
||||
|
process.stdout.write(JSON.stringify({ ok: false, error: String(err && err.stack || err) })); |
||||
|
process.exitCode = 1; |
||||
|
}); |
||||
@ -0,0 +1,510 @@ |
|||||
|
import os |
||||
|
import random |
||||
|
import struct |
||||
|
import time |
||||
|
from datetime import datetime |
||||
|
from typing import Any, Dict, Generator, List, Optional, Tuple |
||||
|
import jwt |
||||
|
import gzip |
||||
|
import requests |
||||
|
import json |
||||
|
from utlit.retry import retry |
||||
|
from loguru import logger |
||||
|
|
||||
|
cwd = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
||||
|
print(cwd) |
||||
|
logger.add(f"{cwd}/my.log", # log文件地址 |
||||
|
level="DEBUG", # log记录最低级别 |
||||
|
rotation="00:00", # 将日志记录以大小、时间等方式进行分割或划分 |
||||
|
retention="3 days", # 文件保留时间 |
||||
|
compression="zip", # 文件压缩格式 |
||||
|
backtrace=True, |
||||
|
# rotation="1 MB" # 滚动大日志文件 |
||||
|
|
||||
|
) |
||||
|
|
||||
|
|
||||
|
class ToolsLoad: |
||||
|
@retry('获取kimi cookie', 0, time_sleep=30) |
||||
|
def get_cookie(self, platform_id="4", category="1"): |
||||
|
url = "http://granking-api.neicela.com/api/third/getOneSpiderSession?platform_id=" + platform_id + "&app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4&category=" + category |
||||
|
payload = {} |
||||
|
headers = { |
||||
|
'Authorization': 'Bearer ', |
||||
|
'User-Agent': 'Apifox/1.0.0 (http://apifox.com)' |
||||
|
} |
||||
|
response = requests.request("GET", url, headers=headers, data=payload).json() |
||||
|
if response.get("data", []) == []: |
||||
|
print('没有获取到cookie', response) |
||||
|
return False |
||||
|
# print('返回写死cookie') |
||||
|
|
||||
|
# return { |
||||
|
# # 'cookie': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ1c2VyLWNlbnRlciIsImV4cCI6MTc4MDYyNjM4NiwiaWF0IjoxNzc4MDM0Mzg2LCJqdGkiOiJkN3RhZGtrY2htdGdkcnRoZ3NiZyIsInR5cCI6ImFjY2VzcyIsImFwcF9pZCI6ImtpbWkiLCJzdWIiOiJkMzhoNm9hNzgzbWszYm5rcjVhZyIsInNwYWNlX2lkIjoiZDM4aDZvYTc4M21rM2Jua3I1OWciLCJhYnN0cmFjdF91c2VyX2lkIjoiZDM4aDZvYTc4M21rM2Jua3I1OTAiLCJzc2lkIjoiMTczMTQyOTU0NzYzMDI1Njk1NCIsImRldmljZV9pZCI6Ijc2MzY1OTkyODk5MjUzNDUwMjQiLCJyZWdpb24iOiJjbiIsIm1lbWJlcnNoaXAiOnsibGV2ZWwiOjEwfX0.GscKsuyzUNS6J-z3U0mrkL90q1djfBhJdQ5rElxyX7nV5a4kTv931Y2eBa10sON4utceXOCdL0lyF_gzjQ1nzA', |
||||
|
# 'cookie': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ1c2VyLWNlbnRlciIsImV4cCI6MTc4MDYyMTEyNywiaWF0IjoxNzc4MDI5MTI3LCJqdGkiOiJkN3Q5NGhwZzZpOHFiZG04djV2ZyIsInR5cCI6ImFjY2VzcyIsImFwcF9pZCI6ImtpbWkiLCJzdWIiOiJjbzBoZ2dtY3A3ZmN0Z3RraWVoMCIsInNwYWNlX2lkIjoiY28waGdnbWNwN2ZjdGd0a2llZzAiLCJhYnN0cmFjdF91c2VyX2lkIjoiY28waGdnbWNwN2ZjdGd0a2llZmciLCJzc2lkIjoiMTczMDEyNzcyNTgxNDI1MTUzMiIsImRldmljZV9pZCI6Ijc2MzY1NzY4Nzg3ODYyNjUzNTgiLCJyZWdpb24iOiJjbiIsIm1lbWJlcnNoaXAiOnsibGV2ZWwiOjEwfX0.0oSaXClxhCGajb32nR7DIOfusiiWL5R7MZRHVuHxmdGCE_XmCAwM4_TUgDiDn5tB2wtpOnW0O1X5j-vwMlnDjg', |
||||
|
# |
||||
|
# 'id': 0 |
||||
|
# } |
||||
|
|
||||
|
print('成功获取到cookie', response) |
||||
|
|
||||
|
return response.get("data") |
||||
|
|
||||
|
@retry('上传cookie状态 cookie', 5) |
||||
|
def update_session(self, id, reload_time, status="4"): |
||||
|
url = "http://granking-api.neicela.com/api/third/updateSpiderSession?app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4" |
||||
|
|
||||
|
payload = json.dumps({ |
||||
|
"id": id, |
||||
|
"status": status, |
||||
|
"reload_time": reload_time |
||||
|
}) |
||||
|
headers = { |
||||
|
'lang': '{{lang}}', |
||||
|
'Authorization': 'Bearer ', |
||||
|
'User-Agent': 'Apifox/1.0.0 (http://apifox.com)', |
||||
|
'Content-Type': 'application/json' |
||||
|
} |
||||
|
|
||||
|
response = requests.request("POST", url, headers=headers, data=payload) |
||||
|
|
||||
|
print(response.text) |
||||
|
return response.text |
||||
|
|
||||
|
@retry('提交结果', 5) |
||||
|
def post_task(self, data): |
||||
|
url = "https://api.granking.com/api/third/submitProjectTask" |
||||
|
resp = requests.post(url, json=data, timeout=(5, 300)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
@retry('获取task消息', 5) |
||||
|
def get_task(self, ): |
||||
|
url = "https://api.granking.com/api/third/getTask?app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4&date=2025-09-20&platform_ids=4" |
||||
|
resp = requests.get(url, timeout=(5, 20)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
@retry('获取消息id', 5) |
||||
|
def request_tobid(self, |
||||
|
app_id: int, |
||||
|
user_unique_id: str, |
||||
|
web_id: str, |
||||
|
user_agent: str = None |
||||
|
): |
||||
|
url = "https://gator.volces.com/tobid" |
||||
|
|
||||
|
headers = { |
||||
|
"Content-Type": "application/json", |
||||
|
"User-Agent": user_agent or |
||||
|
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) " |
||||
|
"AppleWebKit/537.36 (KHTML, like Gecko) " |
||||
|
"Chrome/145.0.0.0 Safari/537.36" |
||||
|
} |
||||
|
|
||||
|
payload = { |
||||
|
"app_id": app_id, |
||||
|
"user_unique_id": user_unique_id, |
||||
|
"web_id": web_id |
||||
|
} |
||||
|
|
||||
|
response = requests.post( |
||||
|
url, |
||||
|
headers=headers, |
||||
|
json=payload, |
||||
|
timeout=10 |
||||
|
) |
||||
|
|
||||
|
response.raise_for_status() |
||||
|
return response.json() |
||||
|
|
||||
|
|
||||
|
class KimiChatClient: |
||||
|
|
||||
|
def __init__( |
||||
|
self, |
||||
|
token: str, |
||||
|
device_id: str, |
||||
|
session_id: str, |
||||
|
traffic_id: str, |
||||
|
platform: str = "web", |
||||
|
version: str = "1.0.0", |
||||
|
language: str = "zh-CN", |
||||
|
timezone: str = "Asia/Shanghai", |
||||
|
scenario: str = "SCENARIO_K2D5", |
||||
|
use_search: bool = True, |
||||
|
thinking: bool = False, |
||||
|
): |
||||
|
# ===== 可变量参数 ===== |
||||
|
self.MAX_TOKEN_ROTATE_TRIES = 3 |
||||
|
self.url = "https://www.kimi.com/apiv2/kimi.gateway.chat.v1.ChatService/Chat" |
||||
|
self.token = token |
||||
|
self.device_id = device_id |
||||
|
self.session_id = session_id |
||||
|
self.traffic_id = traffic_id |
||||
|
self.platform = platform |
||||
|
self.version = version |
||||
|
self.language = language |
||||
|
self.timezone = timezone |
||||
|
self.scenario = scenario |
||||
|
self.use_search = use_search |
||||
|
self.thinking = thinking |
||||
|
|
||||
|
# ============================== |
||||
|
# Connect 协议封包 |
||||
|
# ============================== |
||||
|
|
||||
|
def try_parse_json_from_bytes(self, b: bytes) -> Optional[Dict[str, Any]]: |
||||
|
try: |
||||
|
idx = b.find(b"{") |
||||
|
if idx != -1: |
||||
|
return json.loads(b[idx:].decode("utf-8", errors="replace")) |
||||
|
except Exception: |
||||
|
pass |
||||
|
try: |
||||
|
unz = gzip.decompress(b) |
||||
|
idx = unz.find(b"{") |
||||
|
if idx != -1: |
||||
|
return json.loads(unz[idx:].decode("utf-8", errors="replace")) |
||||
|
except Exception: |
||||
|
pass |
||||
|
return None |
||||
|
|
||||
|
def read_stream_and_parse(self, response: requests.Response, max_frames: Optional[int] = None, |
||||
|
read_chunk: int = 8192) -> \ |
||||
|
Generator[Dict[str, Any], None, None]: |
||||
|
buf = bytearray() |
||||
|
frames = 0 |
||||
|
response.raw.decode_content = False |
||||
|
while True: |
||||
|
try: |
||||
|
chunk = response.raw.read(read_chunk) |
||||
|
except Exception as e: |
||||
|
yield {"error": "read_error", "detail": str(e)} |
||||
|
break |
||||
|
if not chunk: |
||||
|
break |
||||
|
buf += chunk |
||||
|
while True: |
||||
|
if len(buf) == 0: |
||||
|
break |
||||
|
flag = buf[0] |
||||
|
if flag in (0x00, 0x01, 0x02) and len(buf) >= 5: |
||||
|
length = int.from_bytes(buf[1:5], "big") |
||||
|
total_len = 5 + length |
||||
|
if len(buf) < total_len: |
||||
|
break |
||||
|
payload = bytes(buf[5:total_len]) |
||||
|
del buf[:total_len] |
||||
|
frames += 1 |
||||
|
parsed = self.try_parse_json_from_bytes(payload) |
||||
|
if parsed is not None: |
||||
|
yield {"flag": flag, "payload": parsed, "raw_len": len(payload)} |
||||
|
else: |
||||
|
prefix = payload[:512] |
||||
|
try: |
||||
|
txt = prefix.decode("utf-8", errors="replace") |
||||
|
yield {"flag": flag, "payload_text_prefix": txt, "raw_len": len(payload)} |
||||
|
except Exception: |
||||
|
yield {"flag": flag, "payload_hex_prefix": prefix.hex(), "raw_len": len(payload)} |
||||
|
if max_frames and frames >= max_frames: |
||||
|
return |
||||
|
continue |
||||
|
else: |
||||
|
idx = buf.find(b"{") |
||||
|
if idx == -1: |
||||
|
if len(buf) > 10 * 1024 * 1024: |
||||
|
buf = buf[-1024:] |
||||
|
break |
||||
|
try_part = bytes(buf[idx:]) |
||||
|
parsed = self.try_parse_json_from_bytes(try_part) |
||||
|
if parsed is not None: |
||||
|
frames += 1 |
||||
|
yield {"flag": None, "payload": parsed, "raw_len": len(try_part)} |
||||
|
buf.clear() |
||||
|
if max_frames and frames >= max_frames: |
||||
|
return |
||||
|
continue |
||||
|
else: |
||||
|
break |
||||
|
if buf: |
||||
|
parsed = self.try_parse_json_from_bytes(bytes(buf)) |
||||
|
if parsed is not None: |
||||
|
yield {"flag": None, "payload": parsed, "raw_len": len(buf)} |
||||
|
else: |
||||
|
try: |
||||
|
tail_txt = bytes(buf).decode("utf-8", errors="replace") |
||||
|
yield {"flag": None, "payload_raw_tail_text": tail_txt, "raw_len": len(buf)} |
||||
|
except Exception: |
||||
|
yield {"flag": None, "payload_raw_tail_hex": bytes(buf).hex(), "raw_len": len(buf)} |
||||
|
|
||||
|
def _encode_connect(self, payload: dict) -> bytes: |
||||
|
json_bytes = json.dumps(payload, separators=(",", ":")).encode("utf-8") |
||||
|
return b"\x00" + struct.pack(">I", len(json_bytes)) + json_bytes |
||||
|
|
||||
|
def _decode_connect(self, resp_bytes: bytes) -> dict: |
||||
|
if len(resp_bytes) < 5: |
||||
|
raise ValueError("Invalid Connect frame") |
||||
|
|
||||
|
length = struct.unpack(">I", resp_bytes[1:5])[0] |
||||
|
body = resp_bytes[5:5 + length] |
||||
|
return json.loads(body.decode("utf-8")) |
||||
|
|
||||
|
# ============================== |
||||
|
# 构造 headers(全部变量化) |
||||
|
# ============================== |
||||
|
def _build_headers(self): |
||||
|
return { |
||||
|
"Host": "www.kimi.com", |
||||
|
"Connection": "keep-alive", |
||||
|
"x-msh-session-id": self.session_id, |
||||
|
"authorization": f"Bearer {self.token}", |
||||
|
# "authorization": f"Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ1c2VyLWNlbnRlciIsImV4cCI6MTc4MDYyNjM4NiwiaWF0IjoxNzc4MDM0Mzg2LCJqdGkiOiJkN3RhZGtrY2htdGdkcnRoZ3NiZyIsInR5cCI6ImFjY2VzcyIsImFwcF9pZCI6ImtpbWkiLCJzdWIiOiJkMzhoNm9hNzgzbWszYm5rcjVhZyIsInNwYWNlX2lkIjoiZDM4aDZvYTc4M21rM2Jua3I1OWciLCJhYnN0cmFjdF91c2VyX2lkIjoiZDM4aDZvYTc4M21rM2Jua3I1OTAiLCJzc2lkIjoiMTczMTQyOTU0NzYzMDI1Njk1NCIsImRldmljZV9pZCI6Ijc2MzY1OTkyODk5MjUzNDUwMjQiLCJyZWdpb24iOiJjbiIsIm1lbWJlcnNoaXAiOnsibGV2ZWwiOjEwfX0.GscKsuyzUNS6J-z3U0mrkL90q1djfBhJdQ5rElxyX7nV5a4kTv931Y2eBa10sON4utceXOCdL0lyF_gzjQ1nzA", |
||||
|
|
||||
|
"x-msh-platform": self.platform, |
||||
|
"x-msh-device-id": self.device_id, |
||||
|
"sec-ch-ua-mobile": "?0", |
||||
|
"connect-protocol-version": "1", |
||||
|
"x-msh-version": self.version, |
||||
|
"x-language": self.language, |
||||
|
"r-timezone": self.timezone, |
||||
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36", |
||||
|
"content-type": "application/connect+json", |
||||
|
"x-traffic-id": self.traffic_id, |
||||
|
"Accept": "*/*", |
||||
|
"Origin": "https://www.kimi.com", |
||||
|
"Sec-Fetch-Site": "same-origin", |
||||
|
"Sec-Fetch-Mode": "cors", |
||||
|
"Sec-Fetch-Dest": "empty", |
||||
|
"Referer": "https://www.kimi.com/", |
||||
|
"Accept-Encoding": "gzip, deflate, br, zstd", |
||||
|
"Accept-Language": "zh-CN,zh;q=0.9" |
||||
|
} |
||||
|
|
||||
|
# ============================== |
||||
|
# 构造 body(全部变量化) |
||||
|
# ============================== |
||||
|
def _build_payload(self, content: str): |
||||
|
|
||||
|
tools = [] |
||||
|
if self.use_search: |
||||
|
tools.append({ |
||||
|
"type": "TOOL_TYPE_SEARCH", |
||||
|
"search": {} |
||||
|
}) |
||||
|
|
||||
|
return { |
||||
|
"scenario": self.scenario, |
||||
|
"tools": tools, |
||||
|
"message": { |
||||
|
"role": "user", |
||||
|
"blocks": [ |
||||
|
{ |
||||
|
"message_id": "", |
||||
|
"text": { |
||||
|
"content": content |
||||
|
} |
||||
|
} |
||||
|
], |
||||
|
"scenario": self.scenario |
||||
|
}, |
||||
|
"options": { |
||||
|
"thinking": self.thinking |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
# ============================== |
||||
|
# 发送请求 |
||||
|
# ============================== |
||||
|
def chat(self, platform_id: str, keyword: str, brand: str, task_id: str, |
||||
|
cookie_id: str, platform_name="kimi"): |
||||
|
payload = self._build_payload(keyword) |
||||
|
framed = self._encode_connect(payload) |
||||
|
token_tries = 0 |
||||
|
print(f'正在获取: {keyword}') |
||||
|
while token_tries < self.MAX_TOKEN_ROTATE_TRIES: |
||||
|
token_tries += 1 |
||||
|
try: |
||||
|
search_result: List[Dict[str, Any]] = [] |
||||
|
answer_parts: List[str] = [] |
||||
|
with requests.post(self.url, headers=self._build_headers(), data=framed, stream=True, |
||||
|
timeout=60) as resp: |
||||
|
if resp.status_code != 200: |
||||
|
text = None |
||||
|
try: |
||||
|
text = resp.text[:500] |
||||
|
except Exception: |
||||
|
pass |
||||
|
# 非200 视情况可能是 token 问题(例如 401),抛出以触发 rotate |
||||
|
raise RuntimeError(f"http_status_{resp.status_code}: {text}") |
||||
|
resp.raw.decode_content = False |
||||
|
got_any = False |
||||
|
for item in self.read_stream_and_parse(resp, max_frames=None): |
||||
|
# print(item) |
||||
|
got_any = True |
||||
|
payload_text_total = json.dumps(item, ensure_ascii=False) |
||||
|
# print(payload_text_total) |
||||
|
# 判定 token 相关错误 |
||||
|
if "当前模型对话次数已达上限" in payload_text_total or "模型对话次数或参数错误" in payload_text_total or "REASON_INVALID_AUTH_TOKEN" in payload_text_total: |
||||
|
raise RuntimeError("模型对话次数或参数错误: " + payload_text_total[:200]) |
||||
|
|
||||
|
payload_dict = item.get("payload") if isinstance(item.get("payload"), dict) else {} |
||||
|
block = payload_dict.get("block") if isinstance(payload_dict, dict) else None |
||||
|
if block and isinstance(block, dict): |
||||
|
txt = block.get("text", {}).get("content", "") |
||||
|
if txt: |
||||
|
answer_parts.append(txt) |
||||
|
message_obj = payload_dict.get("message") if isinstance(payload_dict, dict) else None |
||||
|
if message_obj and isinstance(message_obj, dict): |
||||
|
blocks = message_obj.get("blocks", []) |
||||
|
if isinstance(blocks, list): |
||||
|
for b in blocks: |
||||
|
if isinstance(b, dict): |
||||
|
content = b.get("text", {}).get("content", "") |
||||
|
if content: |
||||
|
answer_parts.append(content) |
||||
|
refs = payload_dict.get("message", {}).get("refs", {}).get("searchChunks", []) if isinstance( |
||||
|
payload_dict.get("message"), dict) else [] |
||||
|
if refs and isinstance(refs, list): |
||||
|
for page in refs: |
||||
|
base = page.get("base", {}) if isinstance(page, dict) else {} |
||||
|
search_result.append({ |
||||
|
"title": base.get("title", ""), |
||||
|
"url": base.get("url", ""), |
||||
|
"host_name": base.get("siteName", ""), |
||||
|
"publish_time": base.get("publishTime", ""), |
||||
|
"body": base.get("snippet", ""), |
||||
|
"is_referenced": "1" |
||||
|
}) |
||||
|
if not got_any: |
||||
|
print("未解析到任何 frames(可能 body 为空或连接被关闭)") |
||||
|
# logger.warning("未解析到任何 frames(可能 body 为空或连接被关闭)") |
||||
|
# 成功 — 释放 token 回 active 并更新 last_used_at |
||||
|
full_answer = "".join(answer_parts).strip() |
||||
|
if full_answer == '': |
||||
|
print('未获取到数据重试...') |
||||
|
return False |
||||
|
now_dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") |
||||
|
result = { |
||||
|
"app_id": "aa65700299848d6f21b969dbc9f6cf7c", |
||||
|
"secret": "5588071d36f0bc61af849c311a03f2c4", |
||||
|
"platform_id": platform_id, |
||||
|
"platform_name": platform_name, |
||||
|
"prompt": keyword, |
||||
|
"keyword": brand, |
||||
|
"answer": full_answer, |
||||
|
"search_result": search_result, |
||||
|
"screenshot_file": "", |
||||
|
"run_status": True, |
||||
|
"task_id": task_id, |
||||
|
"rank": 0, |
||||
|
"start_time": now_dt, |
||||
|
"end_time": now_dt, |
||||
|
"screenshot_url": "", |
||||
|
"words": [] |
||||
|
} |
||||
|
return result |
||||
|
|
||||
|
except Exception as e: |
||||
|
msg = str(e) |
||||
|
print('异常:', msg) |
||||
|
time.sleep(10) |
||||
|
|
||||
|
# 判定为 token 无效或次数上限等,标记 expired 并尝试下一个 token |
||||
|
if "模型对话次数或参数错误" in msg or "当前模型对话次数已达上限" in msg or msg.startswith( |
||||
|
"http_status_401"): |
||||
|
ToolsLoad().update_session(cookie_id, "", "3") |
||||
|
# 继续尝试下一个 token |
||||
|
return False |
||||
|
else: |
||||
|
# 非 token 错误:把 token 放回 active 以便他人使用 |
||||
|
raise |
||||
|
|
||||
|
raise RuntimeError("达到最大 token 切换尝试仍未成功") |
||||
|
|
||||
|
|
||||
|
# ==================================== |
||||
|
# 使用示例(全部参数外部控制) |
||||
|
# ==================================== |
||||
|
|
||||
|
|
||||
|
class Start: |
||||
|
def __init__(self): |
||||
|
self.tools = ToolsLoad() |
||||
|
|
||||
|
@retry('处理消息任务', for_work=10) |
||||
|
def process_task(self, task): |
||||
|
|
||||
|
task_id = task.get("id", "") |
||||
|
keyword = task.get("keyword", "") |
||||
|
platform_id = task.get("platform_id", "") |
||||
|
brand = task.get("brand", "") |
||||
|
logger.info(f"开始处理任务:{keyword} {task_id}") |
||||
|
response = self.tools.get_cookie() |
||||
|
# {'id': '53191c4f7aa4f0e443d6bce6fd241e67', 'project_id': '019be3ee7b907329bd9114880445cd1f', 'keyword_id': '019be4653db470b39d13449ee5f7afe5', 'keyword': '广州有没有不通过装修公司直接找工长的平台', 'brand': '匠猫', 'platform_id': '4', 'gather_date': '2026-05-06', 'gather_time': '06:00', 'gather_filter': '2026-05-06 00:30:01', 'status': 2, 'retry_count': 2, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-06 11:29:15', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-06 00:30:34', 'update_time': '2026-05-06 11:29:15', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
token = response.get("cookie", None) |
||||
|
if token is None: |
||||
|
logger.info(f'cookie获取失败: {token}') |
||||
|
return False |
||||
|
id = response.get("id") |
||||
|
payload = jwt.decode(token, options={"verify_signature": False}) |
||||
|
DEVICE_ID = payload.get("device_id") |
||||
|
TRAFFIC_ID = payload.get("sub") |
||||
|
session_data = self.tools.request_tobid(20001731, TRAFFIC_ID, DEVICE_ID) |
||||
|
SESSION_ID = session_data.get("tobid") |
||||
|
|
||||
|
client = KimiChatClient( |
||||
|
token=token, |
||||
|
device_id=DEVICE_ID, |
||||
|
session_id=SESSION_ID, |
||||
|
traffic_id=TRAFFIC_ID, |
||||
|
scenario="SCENARIO_K2D5", |
||||
|
use_search=True, |
||||
|
thinking=False, |
||||
|
) |
||||
|
|
||||
|
# 执行聊天任务 |
||||
|
result = client.chat(platform_id=platform_id, keyword=keyword, brand=brand, task_id=task_id, cookie_id=id) |
||||
|
|
||||
|
logger.info(f"任务生成结果: {result}") |
||||
|
if not result: |
||||
|
logger.info(f"任务生成结果异常重新获取: {keyword}") |
||||
|
|
||||
|
return False |
||||
|
post_resp = self.tools.post_task(result) |
||||
|
logger.info(f"KIMI 任务 {task_id} 提交返回: {post_resp}") |
||||
|
print('任务处理完成') |
||||
|
return result |
||||
|
|
||||
|
@retry('主运行窗口', for_work=3) |
||||
|
def start_task_msg(self): |
||||
|
task_resp = self.tools.get_task() |
||||
|
# task_resp = {'code': 0, 'msg': 'success', 'data': {'id': 'e07a6ffddf62a61c8072a0d2d518a655', 'project_id': '019b97b0da35706a9f5aba211a201226', 'keyword_id': '019b97bc96c573b1825716bc35c78a24', 'keyword': '国泰基金怎么样', 'brand': '国泰基金', 'platform_id': '4', 'gather_date': '2026-05-07', 'gather_time': '06:00', 'gather_filter': '2026-05-07 00:30:01', 'status': 2, 'retry_count': 1, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-07 09:06:04', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-07 00:30:10', 'update_time': '2026-05-07 09:06:04', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
|
||||
|
print('KIMI消息内容:', task_resp) |
||||
|
if not task_resp: |
||||
|
logger.info("get_task 未返回有效数据,等待后重试") |
||||
|
time.sleep(5) |
||||
|
return True |
||||
|
|
||||
|
tasks = task_resp.get("data", False) |
||||
|
if not tasks: |
||||
|
logger.info("KIMI 没有任务数据,等待下一轮") |
||||
|
time.sleep(30) |
||||
|
return True |
||||
|
# logger.info(f'开始:{tasks}') |
||||
|
|
||||
|
return self.process_task(tasks) |
||||
|
|
||||
|
def run(self): |
||||
|
while True: |
||||
|
# 获取任务 |
||||
|
self.start_task_msg() |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
# TOKEN = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ1c2VyLWNlbnRlciIsImV4cCI6MTc3NTEwODA1NywiaWF0IjoxNzcyNTE2MDU3LCJqdGkiOiJkNmo3NW1hbTUydGNrdmM1bGpuMCIsInR5cCI6ImFjY2VzcyIsImFwcF9pZCI6ImtpbWkiLCJzdWIiOiJkNmo3NW1hbTUydGNrdmM1bGprZyIsInNwYWNlX2lkIjoiZDZqNzVtYW01MnRja3ZjNWxqazAiLCJhYnN0cmFjdF91c2VyX2lkIjoiZDZqNzVtYW01MnRja3ZjNWxqamciLCJzc2lkIjoiMTczMTY2NzA0MjA3NTUxNTcxNCIsImRldmljZV9pZCI6Ijc2MTI4NTI4NjI0MjI1NTU5MTUiLCJyZWdpb24iOiJjbiIsIm1lbWJlcnNoaXAiOnsibGV2ZWwiOjEwfX0.7Lx5UcmhrZ0UNuvaydFNTJX7ta_9qZarXh-GCVpVJiAnan3iI8y8OHFYgKiUTQEjbSS-WQrvP85276_NsH4l-A" |
||||
|
# response =get_cookie(platform_id="1") |
||||
|
# TOKEN = response.get("cookie") |
||||
|
# id = response.get("id") |
||||
|
Start().run() |
||||
@ -0,0 +1,261 @@ |
|||||
|
# coding=utf-8 |
||||
|
import os |
||||
|
import re |
||||
|
import time |
||||
|
import json |
||||
|
import requests |
||||
|
from DrissionPage import ChromiumPage, ChromiumOptions, Chromium |
||||
|
|
||||
|
|
||||
|
class LubanSMS: |
||||
|
"""鲁班短信平台API封装""" |
||||
|
|
||||
|
def __init__(self, api_key): |
||||
|
self.api_key = api_key |
||||
|
self.base_url = "https://lubansms.com/v2/api" |
||||
|
|
||||
|
def get_balance(self): |
||||
|
"""查询余额""" |
||||
|
url = f"{self.base_url}/getBalance" |
||||
|
params = {"apikey": self.api_key} |
||||
|
response = requests.get(url, params=params) |
||||
|
return response.json() |
||||
|
|
||||
|
def get_number(self): |
||||
|
"""获取手机号码""" |
||||
|
url = 'https://lubansms.com/v2/api/getKeywordNumber?apikey=5ebc10c8e8c35797de15c9af46063b36&phone=&cardType=全部' |
||||
|
response = requests.get(url) |
||||
|
return response.json() |
||||
|
|
||||
|
def get_sms(self, phone): |
||||
|
"""获取短信验证码""" |
||||
|
url = f"https://lubansms.com/v2/api/getKeywordSms?apikey=5ebc10c8e8c35797de15c9af46063b36&phone={phone}&keyword=月之暗面" |
||||
|
response = requests.get(url) |
||||
|
return response.json() |
||||
|
|
||||
|
def set_status(self, phone): |
||||
|
"""更改请求状态""" |
||||
|
url = f'https://lubansms.com/v2/api/delKeywordNumber?apikey=5ebc10c8e8c35797de15c9af46063b36&phone={phone}' |
||||
|
response = requests.get(url).json() |
||||
|
print(response) |
||||
|
return response |
||||
|
|
||||
|
|
||||
|
def save_spider_session(platform_id='4', file_url='', account='test', cookie=''): |
||||
|
""" |
||||
|
新增爬虫session |
||||
|
:param file_url: |
||||
|
:param platform_id: |
||||
|
:param url: |
||||
|
:param file_hash: |
||||
|
:param account: |
||||
|
:return: |
||||
|
""" |
||||
|
url = 'http://granking-api.neicela.com/api/third/saveSpiderSession' |
||||
|
|
||||
|
json_data = { |
||||
|
'app_id': 'aa65700299848d6f21b969dbc9f6cf7c', |
||||
|
'secret': '5588071d36f0bc61af849c311a03f2c4', |
||||
|
'platform_id': platform_id, |
||||
|
'account': account, |
||||
|
'url': file_url, |
||||
|
'hash': str(int(time.time() * 1000)), |
||||
|
'cookie': cookie |
||||
|
} |
||||
|
res = requests.post(url, json=json_data).json() |
||||
|
print(res) |
||||
|
|
||||
|
return res |
||||
|
|
||||
|
|
||||
|
def kimi_auto_login(api_key): |
||||
|
""" |
||||
|
使用DrissionPage和鲁班短信平台API自动登录Kimi |
||||
|
api_key: 鲁班短信平台API密钥 |
||||
|
service_id: 服务ID,默认为Tinder越南服务 |
||||
|
""" |
||||
|
# 初始化鲁班短信API |
||||
|
luban = LubanSMS(api_key) |
||||
|
|
||||
|
# 检查余额 |
||||
|
balance_info = luban.get_balance() |
||||
|
if balance_info.get("code") != 0: |
||||
|
print(f"API密钥错误: {balance_info.get('msg')}") |
||||
|
return None |
||||
|
|
||||
|
print(f"当前余额: {balance_info.get('balance')}元") |
||||
|
co = ChromiumOptions() |
||||
|
co.incognito(True) # 匿名模式 |
||||
|
co.auto_port() |
||||
|
|
||||
|
# co.set_argument('--no-sandbox') # 无沙盒模式 |
||||
|
# 创建浏览器页面 |
||||
|
br = Chromium(co) |
||||
|
page = br.new_tab() |
||||
|
# page.set.load_mode.eager() |
||||
|
|
||||
|
try: |
||||
|
print("正在打开Kimi网站...") |
||||
|
# 访问Kimi主页 |
||||
|
page.get('https://www.kimi.ai', timeout=5) |
||||
|
|
||||
|
# 等待页面加载 |
||||
|
# 点击登录按钮 |
||||
|
try: |
||||
|
login_btn = page.ele('text=登录', timeout=10) |
||||
|
if login_btn: |
||||
|
login_btn.click() |
||||
|
print("已点击登录按钮") |
||||
|
except: |
||||
|
print("未找到登录按钮,尝试其他方式...") |
||||
|
# 尝试点击用户头像区域 |
||||
|
try: |
||||
|
user_info = page.ele('.user-info', timeout=10) |
||||
|
if user_info: |
||||
|
user_info.click() |
||||
|
print("已点击用户头像") |
||||
|
except: |
||||
|
pass |
||||
|
|
||||
|
time.sleep(2) |
||||
|
page.ele('xpath:/html/body/div[3]/div/div/div/label/span').click() |
||||
|
# 获取手机号码 |
||||
|
for i in range(30): |
||||
|
print("正在获取手机号码...") |
||||
|
number_info = luban.get_number() |
||||
|
print(number_info) |
||||
|
if number_info.get("code") != 0: |
||||
|
print(f"获取手机号码失败: {number_info.get('msg')}") |
||||
|
continue |
||||
|
else: |
||||
|
break |
||||
|
|
||||
|
phone_number = number_info.get('phone') |
||||
|
if not phone_number: |
||||
|
return False |
||||
|
|
||||
|
print(f"获取到手机号码: {phone_number}") |
||||
|
|
||||
|
# 输入手机号码 |
||||
|
try: |
||||
|
phone_input = page.ele('.phone-login-mobile-number', timeout=10) |
||||
|
if phone_input: |
||||
|
phone_input.clear() |
||||
|
phone_input.input(phone_number) |
||||
|
print("已输入手机号码") |
||||
|
except Exception as e: |
||||
|
print(f"输入手机号码失败: {e}") |
||||
|
return None |
||||
|
|
||||
|
# 点击发送验证码按钮 |
||||
|
try: |
||||
|
send_code_btn = page.ele('text:发送验证码', timeout=10) |
||||
|
if send_code_btn: |
||||
|
send_code_btn.click() |
||||
|
print("已点击发送验证码") |
||||
|
if page.ele('.yidun_tips', timeout=5): |
||||
|
print('出现验证码换一个') |
||||
|
time.sleep(5) |
||||
|
return False |
||||
|
except Exception as e: |
||||
|
print(f"点击发送验证码按钮失败: {e}") |
||||
|
return None |
||||
|
|
||||
|
# 等待并获取验证码 |
||||
|
print("等待验证码...") |
||||
|
sms_code = None |
||||
|
max_attempts = 15 # 最多等待30次,每次3秒 |
||||
|
|
||||
|
for i in range(max_attempts): |
||||
|
sms_info = luban.get_sms(phone_number) |
||||
|
print(sms_info) |
||||
|
if sms_info.get("code") == 0: |
||||
|
sms_code = sms_info.get("msg") |
||||
|
print(f"收到验证码: {sms_code}") |
||||
|
break |
||||
|
else: |
||||
|
print(f"等待验证码中...({i + 1}/{max_attempts})") |
||||
|
time.sleep(2) |
||||
|
|
||||
|
if not sms_code: |
||||
|
print("未收到验证码,超时") |
||||
|
# 释放号码 |
||||
|
luban.set_status(phone_number) |
||||
|
return None |
||||
|
|
||||
|
# 输入验证码 |
||||
|
try: |
||||
|
code_input = page.ele('css:input[placeholder="请输入验证码"]') |
||||
|
if code_input: |
||||
|
code_input.clear() |
||||
|
yzm = re.search(r'验证码[::]\s*(\d{4,6})', sms_code).group(1) |
||||
|
code_input.input(yzm) |
||||
|
print("已输入验证码") |
||||
|
except Exception as e: |
||||
|
print(f"输入验证码失败: {e}") |
||||
|
return None |
||||
|
|
||||
|
# 点击登录按钮 |
||||
|
try: |
||||
|
page.listen.start(['/api/user/wx/register_login/', '/api/device/register', '/api/user']) |
||||
|
|
||||
|
login_submit_btn = page.ele('text:登录', timeout=10) |
||||
|
if login_submit_btn: |
||||
|
login_submit_btn.click() |
||||
|
print("已点击登录按钮") |
||||
|
except Exception as e: |
||||
|
print(f"点击登录按钮失败: {e}") |
||||
|
# return None |
||||
|
|
||||
|
# 等待登录完成 |
||||
|
print("等待...") |
||||
|
time.sleep(3) |
||||
|
token = '' |
||||
|
for packet in page.listen.steps(): |
||||
|
print(111) |
||||
|
req = packet.request |
||||
|
if req: |
||||
|
headers = req.headers |
||||
|
print(headers) |
||||
|
if 'authorization' in headers: |
||||
|
token = headers['authorization'] |
||||
|
token = token.split(' ')[-1] |
||||
|
print(token) |
||||
|
save_spider_session(cookie=token, account=str(phone_number)) |
||||
|
break |
||||
|
|
||||
|
return token |
||||
|
|
||||
|
except Exception as e: |
||||
|
print(f"发生错误: {e}") |
||||
|
return None |
||||
|
finally: |
||||
|
# 关闭浏览器 |
||||
|
try: |
||||
|
page.close() |
||||
|
br.quit() |
||||
|
except Exception as e: |
||||
|
print(e) |
||||
|
|
||||
|
|
||||
|
# eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ1c2VyLWNlbnRlciIsImV4cCI6MTc4MDY1MDUzMSwiaWF0IjoxNzc4MDU4NTMxLCJqdGkiOiJkN3RnYTh0cWlwNjhpa3ZqdGtqMCIsInR5cCI6ImFjY2VzcyIsImFwcF9pZCI6ImtpbWkiLCJzdWIiOiJkN3RnYTh0cWlwNjhpa3ZqdGtlMCIsInNwYWNlX2lkIjoiZDd0Z2E4dHFpcDY4aWt2anRrZGciLCJhYnN0cmFjdF91c2VyX2lkIjoiZDd0Z2E4dHFpcDY4aWt2anRrZDAiLCJzc2lkIjoiMTczMTc0MTgwODg3MjkyMjE1MyIsImRldmljZV9pZCI6Ijc2MzY3MDMwMDkwOTA1ODg0MjciLCJyZWdpb24iOiJjbiIsIm1lbWJlcnNoaXAiOnsibGV2ZWwiOjEwfX0.t9mZ7v-XRWQp91QAWxhvG2l5-VKNwJUIv2R2YDD9ilOUStOh6Oz03wiwQkKLcxke17PuSfcj6DUY_8YByTl1rA |
||||
|
if __name__ == '__main__': |
||||
|
# 需要用户输入API密钥 |
||||
|
api_key = '5ebc10c8e8c35797de15c9af46063b36' |
||||
|
service_id = '541182' |
||||
|
# save_spider_session( |
||||
|
# cookie='eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ1c2VyLWNlbnRlciIsImV4cCI6MTc4MDY0OTgyNCwiaWF0IjoxNzc4MDU3ODI0LCJqdGkiOiJkN3RnNG82bjNtazNyNnJtcHZuZyIsInR5cCI6ImFjY2VzcyIsImFwcF9pZCI6ImtpbWkiLCJzdWIiOiJkNjJxZGhmZnRhZWE2OWltY3RjMCIsInNwYWNlX2lkIjoiZDYycWRoZmZ0YWVhNjlpbWN0YmciLCJhYnN0cmFjdF91c2VyX2lkIjoiZDYycWRoZmZ0YWVhNjlpbWN0YjAiLCJzc2lkIjoiMTczMTU0MTY5Nzc3MDI4NzY2NyIsImRldmljZV9pZCI6Ijc2MzY3MDAwMTk3OTM1MTQyNTIiLCJyZWdpb24iOiJjbiIsIm1lbWJlcnNoaXAiOnsibGV2ZWwiOjEwfX0.bA_j_u3JJSP7uwtBR5YAfR0tuGtbC70kYUyEI9sqXk-b_WrTFeNLDJm2ofJXPRF5yV8cyhbZou9P5K0sbrHO0A') |
||||
|
a = 0 |
||||
|
for u in range(50): |
||||
|
try: |
||||
|
result = kimi_auto_login(api_key) |
||||
|
if result: |
||||
|
a += 1 |
||||
|
print(f"自动登录完成,cookies文件: {result}") |
||||
|
print('成功:',a) |
||||
|
else: |
||||
|
print("自动登录失败") |
||||
|
time.sleep(5) |
||||
|
except Exception as e: |
||||
|
print(e) |
||||
|
pass |
||||
@ -0,0 +1,472 @@ |
|||||
|
# yuanbao_sms_auto.py |
||||
|
""" |
||||
|
Playwright 自动登录(sms_auto 完整实现模板) |
||||
|
流程: |
||||
|
1. 向接码平台下单获取一个手机号(得到 order_id / phone / phone_id 等) |
||||
|
2. 将手机号填写到页面并触发发送验证码 |
||||
|
3. 轮询接码平台查询该订单的短信列表并抽取验证码 |
||||
|
4. 把验证码填入页面并完成登录 |
||||
|
5. 登录成功后导出 cookie 并上传到 /cookies/add |
||||
|
注意:需要你把 PROVIDER_* 常量替换为真实接码平台的 API 信息或实现 provider adapter。 |
||||
|
""" |
||||
|
|
||||
|
import os |
||||
|
import re |
||||
|
import requests |
||||
|
from typing import Optional, Dict, Any, List |
||||
|
from playwright.sync_api import sync_playwright, TimeoutError as PWTimeoutError |
||||
|
from utlit.update_db import upsert_token |
||||
|
|
||||
|
# ========== 配置区(按照你要对接的接码平台修改) ========== |
||||
|
COOKIES_ADD_URL = os.getenv("COOKIES_ADD_URL", "http://127.0.0.1:5001/cookies/add") |
||||
|
API_KEY = os.getenv("COOKIES_ADD_API_KEY", "144defc3b314ef9f37d45651e6b1228f") |
||||
|
|
||||
|
TARGET = os.getenv("TARGET", "https://metaso.cn/") |
||||
|
HEADLESS = False |
||||
|
|
||||
|
# 接码平台通用配置(下面是示例占位) |
||||
|
LUBAN_API_BASE = os.getenv("LUBAN_API_BASE", "https://lubansms.com/v2/api") |
||||
|
LUBAN_API_KEY = os.getenv("LUBAN_API_KEY", "5ebc10c8e8c35797de15c9af46063b36") |
||||
|
DEFAULT_TIMEOUT = 15 # seconds |
||||
|
DEFAULT_CARD_TYPE = os.getenv("LUBAN_CARDTYPE", "1") # 根据平台说明填写默认卡种 |
||||
|
|
||||
|
# 超时与轮询参数 |
||||
|
ORDER_TIMEOUT = 60 # 等待平台分配号码的超时(秒) |
||||
|
SMS_POLL_TIMEOUT = 180 # 等待短信到达的超时(秒) |
||||
|
SMS_POLL_INTERVAL = 3 # 轮询间隔(秒) |
||||
|
CODE_REGEX = re.compile(r"(\d{4,8})") # 匹配 4~8 位数字验证码 |
||||
|
|
||||
|
# ========== provider adapter 模式(必须实现这些函数) ========== |
||||
|
# 这些函数为示例实现,你需要根据真实接码平台 API 调整请求及解析逻辑。 |
||||
|
|
||||
|
# Helper to build URL |
||||
|
def _url(path: str) -> str: |
||||
|
return LUBAN_API_BASE.rstrip("/") + "/" + path.lstrip("/") |
||||
|
|
||||
|
# ---------- provider_request_number ---------- |
||||
|
def provider_request_number(card_type: Optional[str] = None, **kwargs) -> Dict[str, Any]: |
||||
|
""" |
||||
|
请求/租用一个带关键字的号码(getKeywordNumber) |
||||
|
返回示例: |
||||
|
{"ok": True, "order_id": "<id>", "phone": "13800138000", "raw": <original_response>} |
||||
|
失败返回: |
||||
|
{"ok": False, "error": "...", "raw": <original_response_or_text>} |
||||
|
参数: |
||||
|
- country: 国家码(字符串),lubansms 的 API 若无 country 字段可忽略 |
||||
|
- card_type: 卡种/套餐类型(平台文档里的 cardType 值) |
||||
|
""" |
||||
|
card_type = card_type or DEFAULT_CARD_TYPE |
||||
|
apikey = LUBAN_API_KEY |
||||
|
if not apikey or apikey == "YOUR_APIKEY": |
||||
|
return {"ok": False, "error": "no_api_key_configured"} |
||||
|
|
||||
|
params = { |
||||
|
"apikey": apikey, |
||||
|
"phone": "", # 有些接口要求 phone param 空或占位,保留 |
||||
|
"cardType": card_type |
||||
|
} |
||||
|
|
||||
|
|
||||
|
try: |
||||
|
resp = requests.get(_url("getKeywordNumber"), params=params, timeout=DEFAULT_TIMEOUT) |
||||
|
except Exception as e: |
||||
|
return {"ok": False, "error": f"request_failed: {e}"} |
||||
|
|
||||
|
# 尝试解析 JSON |
||||
|
try: |
||||
|
j = resp.json() |
||||
|
if j.get("code") == 0: |
||||
|
return j |
||||
|
except Exception: |
||||
|
return {"ok": False, "error": "invalid_json", "raw": resp.text} |
||||
|
|
||||
|
# ---------- provider_get_messages ---------- |
||||
|
def provider_get_messages(phone: str, keyword: Optional[str] = None, **kwargs) -> Dict[str, Any]: |
||||
|
""" |
||||
|
拉取短信(getKeywordSms)。 |
||||
|
返回: |
||||
|
收到短信: {"ok": True, "messages": [{"text": "...", "ts": 1234567890}], "raw": ...} |
||||
|
等待短信: {"ok": False, "error": "waiting_sms", "raw": ...} |
||||
|
API 错误: {"ok": False, "error": "api_error", "raw": ...} |
||||
|
""" |
||||
|
apikey = LUBAN_API_KEY |
||||
|
if not apikey or apikey == "YOUR_APIKEY": |
||||
|
return {"ok": False, "error": "no_api_key_configured"} |
||||
|
|
||||
|
params = {"apikey": apikey, "phone": phone} |
||||
|
if keyword: |
||||
|
params["keyword"] = keyword |
||||
|
|
||||
|
try: |
||||
|
resp = requests.get(_url("getKeywordSms"), params=params, timeout=DEFAULT_TIMEOUT) |
||||
|
resp.raise_for_status() |
||||
|
except Exception as e: |
||||
|
return {"ok": False, "error": f"request_failed: {e}"} |
||||
|
|
||||
|
try: |
||||
|
j = resp.json() |
||||
|
except Exception: |
||||
|
return {"ok": False, "error": "invalid_json", "raw": resp.text} |
||||
|
|
||||
|
code = j.get("code") |
||||
|
msg = j.get("msg", "") |
||||
|
|
||||
|
if code == 0: |
||||
|
# 收到短信 |
||||
|
return {"ok": True, "messages": j.get("msg", ""), "raw": j} |
||||
|
|
||||
|
elif code == 400 and "尚未收到短信" in msg: |
||||
|
# 等待短信 |
||||
|
return {"ok": False, "error": "waiting_sms", "raw": j} |
||||
|
|
||||
|
else: |
||||
|
# 其他 API 错误 |
||||
|
return {"ok": False, "error": "api_error", "raw": j} |
||||
|
|
||||
|
# ---------- provider_cancel_order ---------- |
||||
|
def provider_cancel_order( phone: str = None, **kwargs) -> Dict[str, Any]: |
||||
|
""" |
||||
|
释放/取消号码(delKeywordNumber)。 |
||||
|
返回 {"ok": True} 或 {"ok": False, "error": "..."} |
||||
|
""" |
||||
|
apikey = LUBAN_API_KEY |
||||
|
if not apikey or apikey == "YOUR_APIKEY": |
||||
|
return {"ok": False, "error": "no_api_key_configured"} |
||||
|
|
||||
|
params = {"apikey": apikey, "phone": phone} |
||||
|
try: |
||||
|
resp = requests.get(_url("delKeywordNumber"), params=params, timeout=DEFAULT_TIMEOUT) |
||||
|
except Exception as e: |
||||
|
return {"ok": False, "error": f"request_failed: {e}"} |
||||
|
|
||||
|
try: |
||||
|
j = resp.json() |
||||
|
except Exception: |
||||
|
return {"ok": False, "error": "invalid_json", "raw": resp.text} |
||||
|
|
||||
|
# 成功判断:根据平台文档调整条件(常见 code==0 或 success==True) |
||||
|
if isinstance(j, dict) and (j.get("code") in (0, "0") or j.get("success") in (True, "true")): |
||||
|
return {"ok": True, "raw": j} |
||||
|
# 仍返回原始响应以便调试 |
||||
|
return {"ok": False, "error": "provider_error", "raw": j} |
||||
|
|
||||
|
|
||||
|
# ========== 工具函数 ========== |
||||
|
def extract_code_from_text(text: str) -> Optional[str]: |
||||
|
m = CODE_REGEX.search(text or "") |
||||
|
return m.group(1) if m else None |
||||
|
|
||||
|
def cookies_to_string(cookies): |
||||
|
return "; ".join(f"{c['name']}={c['value']}" for c in cookies) |
||||
|
|
||||
|
def upload_cookie(cookie_str): |
||||
|
headers = {"X-API-Key": API_KEY, "Content-Type": "application/json"} |
||||
|
resp = requests.post(COOKIES_ADD_URL, headers=headers, json={"cookie": cookie_str}, timeout=30) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
from playwright.sync_api import Page, TimeoutError |
||||
|
import time |
||||
|
|
||||
|
def ensure_logged_in_ui(page: Page, wait_for_login_selector: str = None, timeout: int = 30): |
||||
|
""" |
||||
|
检查页面是否显示未登录(基于 .nick-info-name 包含 '未登录')。 |
||||
|
若未登录则点击触发器(.t-trigger 或 avatar 容器),并等待登录页面/弹窗出现。 |
||||
|
参数: |
||||
|
page: Playwright Page 对象 |
||||
|
wait_for_login_selector: 登录弹窗/页面可见后用于等待的选择器(可选) |
||||
|
timeout: 等待登录出现的超时(秒) |
||||
|
返回: |
||||
|
True if we clicked/opened login (or already logged in False if already logged?) |
||||
|
""" |
||||
|
try: |
||||
|
# 方法一:用按钮文本(最简单、最稳) |
||||
|
btn = page.get_by_role("button", name="登录/注册") |
||||
|
btn.wait_for(state="visible", timeout=5000) |
||||
|
btn.click() |
||||
|
return True |
||||
|
except PWTimeoutError: |
||||
|
# 备选:更精确的 CSS 选择器(你贴的 HTML 中有很多 class) |
||||
|
try: |
||||
|
btn2 = page.locator("button.css-veatkv", has_text="登录/注册") |
||||
|
btn2.wait_for(state="visible", timeout=3000) |
||||
|
btn2.click() |
||||
|
except Exception as e: |
||||
|
print("点击登录按钮失败:", e) |
||||
|
page.screenshot(path="fail_login.png") |
||||
|
return False |
||||
|
from playwright.sync_api import Page, TimeoutError |
||||
|
import time |
||||
|
|
||||
|
def click_phone_tab(page: Page, timeout: int = 10) -> bool: |
||||
|
""" |
||||
|
尝试点击“手机”选项(返回 True 表示已点击并选中) |
||||
|
""" |
||||
|
try: |
||||
|
btn = page.locator("p.css-141qk0f", has_text="手机验证") |
||||
|
btn.wait_for(state="visible", timeout=5000) |
||||
|
btn.click() |
||||
|
print("已点击:手机验证") |
||||
|
return True |
||||
|
except Exception as e: |
||||
|
print("点击手机验证失败:", e) |
||||
|
# page.screenshot(path="fail_login.png") |
||||
|
return False |
||||
|
import re |
||||
|
from playwright.sync_api import Page, TimeoutError |
||||
|
import time |
||||
|
|
||||
|
def click_agree_span(page: Page, timeout: float = 5.0) -> bool: |
||||
|
""" |
||||
|
尝试点击页面中显示文本 '我已阅读并同意 ' 的 <span> 元素。 |
||||
|
返回 True 表示已点击(或已勾选),False 表示失败。 |
||||
|
""" |
||||
|
try: |
||||
|
# 首选:直接 check input(安全且会跳过已选状态) |
||||
|
checkbox = page.locator("#desktop-login-policy") |
||||
|
checkbox.wait_for(state="attached", timeout=3000) |
||||
|
checkbox.check(timeout=3000) # 如果已经选中不会抛错 |
||||
|
print("使用 input#desktop-login-policy.check() 成功") |
||||
|
except Exception as e: |
||||
|
print("直接 check 失败,尝试点击包含的 label/span ->", e) |
||||
|
try: |
||||
|
# 备选:点击包含 checkbox 的 label(对自定义样式友好) |
||||
|
page.locator("label:has(#desktop-login-policy)").first.click(timeout=3000) |
||||
|
print("通过点击 label 成功") |
||||
|
except Exception as e2: |
||||
|
print("label 点击失败,尝试强制点击渲染的 checkbox span ->", e2) |
||||
|
try: |
||||
|
page.locator("input#desktop-login-policy").first.click(force=True) |
||||
|
print("force click 成功") |
||||
|
except Exception as e3: |
||||
|
print("所有方法失败:", e3) |
||||
|
page.screenshot(path="checkbox_click_fail.png") |
||||
|
|
||||
|
# 验证:检查是否真的被选中 |
||||
|
try: |
||||
|
is_checked = page.locator("#desktop-login-policy").is_checked() |
||||
|
print("当前 checked 状态:", is_checked) |
||||
|
except Exception: |
||||
|
print("无法读取 checked 状态,可能是自定义组件(需检查 aria- 属性或 class)") |
||||
|
|
||||
|
|
||||
|
|
||||
|
def fill_phone_and_send(page: Page, phone: str, wait_for_sent: float = 10.0) -> bool: |
||||
|
""" |
||||
|
填手机号并点击“获取验证码”。 |
||||
|
phone: e.g. "13800138000" or "+8613800138000" or "8613800138000" |
||||
|
wait_for_sent: 点击后等待发送按钮变为 loading 或不可见的超时时间(秒) |
||||
|
返回 True 表示已触发发送;False 表示未触发(或出错) |
||||
|
""" |
||||
|
# 规范化号码:去掉空白,保留前导 + 或数字 |
||||
|
phone = (phone or "").strip() |
||||
|
m = re.match(r'^\+?(\d+)$', phone) |
||||
|
if not m: |
||||
|
raise ValueError("phone 格式不合法: " + repr(phone)) |
||||
|
num = m.group(1) |
||||
|
# 如果传入带国家码且是中国 86,可以把前缀去掉用于填写(页面通常期望输入国内号) |
||||
|
# 你可按目标页面需求修改:这里默认若以86开头则去掉 |
||||
|
if num.startswith("86") and len(num) > 8: |
||||
|
num_to_fill = num[2:] |
||||
|
else: |
||||
|
num_to_fill = num |
||||
|
|
||||
|
# 1) 先确保手机选项已选(若你在页面切换到手机登录后再调用可跳过) |
||||
|
# (可选) 点击国家码下拉以切换国家 |
||||
|
# try: |
||||
|
# # 点击区号标签以打开可能的面板(若不需要可跳过) |
||||
|
# if page.query_selector(".yuanbao-oversea-input__wrap__formitem .yuanbao-oversea-input__wrap__formitem__areaCode"): |
||||
|
# try: |
||||
|
# page.click(".yuanbao-oversea-input__wrap__formitem .yuanbao-oversea-input__wrap__formitem__areaCode") |
||||
|
# except Exception: |
||||
|
# pass |
||||
|
# except Exception: |
||||
|
# pass |
||||
|
|
||||
|
# 2) 填手机号输入框 |
||||
|
phone_selectors = [ |
||||
|
"#desktop-login-phone input[type='tel']", |
||||
|
"input[placeholder*='手机号']", |
||||
|
] |
||||
|
phone_filled = False |
||||
|
for sel in phone_selectors: |
||||
|
try: |
||||
|
el = page.query_selector(sel) |
||||
|
if el: |
||||
|
el.fill(num_to_fill) |
||||
|
phone_filled = True |
||||
|
break |
||||
|
except Exception: |
||||
|
pass |
||||
|
if not phone_filled: |
||||
|
raise RuntimeError("无法找到手机号输入框,检查选择器或页面是否加载完成") |
||||
|
|
||||
|
# 3) 点击“获取验证码”按钮(优先点击可见的 .hyc-phone-login__send-code) |
||||
|
send_selectors = [ |
||||
|
|
||||
|
"button:has-text('发送验证码')", |
||||
|
"text=发送验证码" |
||||
|
] |
||||
|
clicked = False |
||||
|
for s in send_selectors: |
||||
|
try: |
||||
|
el = page.query_selector(s) |
||||
|
if not el: |
||||
|
continue |
||||
|
# 如果元素存在但看起来是禁用/灰色(可能用 style 或 aria-disabled 标示),尝试等待变为可点 |
||||
|
# 尝试点击 |
||||
|
try: |
||||
|
el.click() |
||||
|
clicked = True |
||||
|
break |
||||
|
except Exception: |
||||
|
# fallback: use page.click(selector) |
||||
|
try: |
||||
|
page.click(s) |
||||
|
clicked = True |
||||
|
break |
||||
|
except Exception: |
||||
|
# 可能被禁用,继续检测 |
||||
|
pass |
||||
|
except Exception: |
||||
|
pass |
||||
|
if not clicked: |
||||
|
return False |
||||
|
return True |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
def click_login_and_wait(page: Page, timeout: float = 10.0) -> bool: |
||||
|
""" |
||||
|
点击登录按钮并等待登录完成或超时。 |
||||
|
- page: Playwright Page |
||||
|
- timeout: 等待登录成功的最长时间(秒) |
||||
|
返回 True 表示检测到登录成功(或提交已触发并可能成功),False 表示超时或失败。 |
||||
|
""" |
||||
|
btn2 = page.locator("button.css-l7o7jf", has_text="登录/注册") |
||||
|
btn2.wait_for(state="visible", timeout=3000) |
||||
|
btn2.click() |
||||
|
return True |
||||
|
# 用法示例(在你的 Playwright 脚本里) |
||||
|
# page = context.new_page() |
||||
|
# page.goto(TARGET) |
||||
|
# opened = ensure_logged_in_ui(page, wait_for_login_selector="css=div.login-modal, form#loginForm", timeout=20) |
||||
|
# if opened: |
||||
|
# print("尝试触发登录弹窗,等待用户或自动化完成登录") |
||||
|
# else: |
||||
|
# print("未触发登录:可能已经登录或页面结构不同") |
||||
|
|
||||
|
# ========== 主流程:下单→填写→轮询→登录 ========== |
||||
|
def run_sms_auto_login(): |
||||
|
# 1) 向接码平台请求号码 |
||||
|
print("[*] 向接码平台请求号码...") |
||||
|
order = provider_request_number() |
||||
|
if not order.get("phone"): |
||||
|
raise RuntimeError("Request number failed: " + str(order.get("error"))) |
||||
|
phone = order["phone"] |
||||
|
print(f"[+] 获取到手机号: {phone} ") |
||||
|
# phone = "18751835986" |
||||
|
with sync_playwright() as p: |
||||
|
browser = p.chromium.launch(headless=HEADLESS,executable_path= r'C:\Program Files\Google\Chrome\Application\chrome.exe') |
||||
|
context = browser.new_context() |
||||
|
page = context.new_page() |
||||
|
page.goto(TARGET) |
||||
|
print("[*] 已打开目标页面,请等待页面加载并自动填写手机号...") |
||||
|
|
||||
|
ensure_logged_in_ui(page) |
||||
|
time.sleep(2) |
||||
|
click_phone_tab(page) |
||||
|
|
||||
|
click_agree_span(page) |
||||
|
# === 将号码输入到页面的手机号输入框 === |
||||
|
# 请根据目标页面调整选择器 |
||||
|
fill_phone_and_send(page,phone) |
||||
|
# 2) 轮询接码平台获取短信 |
||||
|
print("[*] 轮询接码平台获取短信,超时 %s s ..." % SMS_POLL_TIMEOUT) |
||||
|
start = time.time() |
||||
|
last_err = None |
||||
|
code = None |
||||
|
while True: |
||||
|
if time.time() - start > SMS_POLL_TIMEOUT: |
||||
|
last_err = "sms_poll_timeout" |
||||
|
break |
||||
|
try: |
||||
|
resp = provider_get_messages(phone, "秘塔") |
||||
|
print(f"获取短信响应{resp}") |
||||
|
except Exception as e: |
||||
|
last_err = str(e) |
||||
|
resp = {"ok": False, "error": last_err} |
||||
|
if not resp.get("ok"): |
||||
|
# 可打印 provider 返回信息,便于排错 |
||||
|
print("[...] provider no messages yet:", resp.get("error")) |
||||
|
|
||||
|
else: |
||||
|
if "已被当前号码提供方屏蔽" in resp.get("messages",""): |
||||
|
code = None |
||||
|
break |
||||
|
#{"ok": True, "messages": [{"text": "12345", "ts": 12345}, ...]} |
||||
|
msgs = resp.get("messages") or [] |
||||
|
# 按时间顺序遍历最新消息,尝试抽码 |
||||
|
|
||||
|
code = extract_code_from_text(msgs) |
||||
|
if code: |
||||
|
print("[+] 抽取到验证码:", code) |
||||
|
break |
||||
|
if code: |
||||
|
break |
||||
|
time.sleep(SMS_POLL_INTERVAL) |
||||
|
|
||||
|
if not code: |
||||
|
print("[-] 未收到验证码或匹配失败:", last_err) |
||||
|
try: |
||||
|
data = provider_cancel_order(phone) |
||||
|
print(f"释放号码响应{data}") |
||||
|
except Exception: |
||||
|
pass |
||||
|
browser.close() |
||||
|
raise RuntimeError("Failed to obtain SMS code: " + str(last_err)) |
||||
|
|
||||
|
# 3) 把验证码填入页面并提交 |
||||
|
sms_input_candidates = [ |
||||
|
"input[placeholder*='短信验证码']" |
||||
|
] |
||||
|
filled_sms = False |
||||
|
for sel in sms_input_candidates: |
||||
|
try: |
||||
|
el = page.query_selector(sel) |
||||
|
if el: |
||||
|
el.fill(code) |
||||
|
filled_sms = True |
||||
|
print("[+] 已把验证码填入选择器:", sel) |
||||
|
break |
||||
|
except Exception: |
||||
|
pass |
||||
|
if not filled_sms: |
||||
|
# 允许用户手工粘贴 |
||||
|
print("[!] 脚本无法定位验证码输入框,请在浏览器手动粘贴验证码后提交") |
||||
|
print("验证码:", code) |
||||
|
input("粘贴并提交后按回车继续...") |
||||
|
click_login_and_wait(page) |
||||
|
# 4) 等待登录成功并导出 cookie |
||||
|
# 等待一定时间观察页面或 cookie |
||||
|
# input("[*] 等待登录完成(若页面需手动点登录请操作)...") |
||||
|
time.sleep(5) |
||||
|
cookies = context.cookies() |
||||
|
cookie_str = cookies_to_string(cookies) |
||||
|
DB = "./kimi_tokens.db" |
||||
|
TABLE = "tokens" |
||||
|
# 单条 upsert |
||||
|
ok = upsert_token(DB, TABLE, phone=phone, platform_name="mita", token_value=cookie_str, status="active") |
||||
|
print("upsert single:", ok) |
||||
|
browser.close() |
||||
|
return cookie_str |
||||
|
|
||||
|
# ========== CLI ========== |
||||
|
if __name__ == "__main__": |
||||
|
while 1: |
||||
|
try: |
||||
|
c = run_sms_auto_login() |
||||
|
print("[DONE] cookie length:", len(c or "")) |
||||
|
except Exception as e: |
||||
|
print("[ERROR]", e) |
||||
@ -0,0 +1,47 @@ |
|||||
|
#!/usr/bin/env python3 |
||||
|
""" |
||||
|
一键将 kimi_tokens.db 中所有记录的 status 设置为 active |
||||
|
""" |
||||
|
|
||||
|
import sqlite3 |
||||
|
import os |
||||
|
import sys |
||||
|
|
||||
|
|
||||
|
def main(): |
||||
|
# 获取脚本所在目录 |
||||
|
script_dir = os.path.dirname(os.path.abspath(__file__)) |
||||
|
db_path = os.path.join(script_dir, '../kimi_tokens.db') |
||||
|
|
||||
|
# 检查数据库文件是否存在 |
||||
|
if not os.path.exists(db_path): |
||||
|
print(f"错误:数据库文件不存在 - {db_path}") |
||||
|
sys.exit(1) |
||||
|
|
||||
|
try: |
||||
|
# 连接数据库 |
||||
|
conn = sqlite3.connect(db_path) |
||||
|
cursor = conn.cursor() |
||||
|
|
||||
|
# 更新所有记录的 status 为 active |
||||
|
cursor.execute("UPDATE tokens SET status = 'active'") |
||||
|
updated_rows = cursor.rowcount |
||||
|
|
||||
|
# 提交更改 |
||||
|
conn.commit() |
||||
|
|
||||
|
print(f"成功更新 {updated_rows} 条记录的 status 为 'active'") |
||||
|
|
||||
|
except sqlite3.Error as e: |
||||
|
print(f"数据库错误:{e}") |
||||
|
sys.exit(1) |
||||
|
except Exception as e: |
||||
|
print(f"未知错误:{e}") |
||||
|
sys.exit(1) |
||||
|
finally: |
||||
|
if 'conn' in locals(): |
||||
|
conn.close() |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
main() |
||||
@ -0,0 +1,568 @@ |
|||||
|
import os |
||||
|
import json |
||||
|
import time |
||||
|
import sqlite3 |
||||
|
import threading |
||||
|
from typing import Any, Dict, List, Optional, Tuple |
||||
|
import requests |
||||
|
from utlit.retry import retry |
||||
|
from loguru import logger |
||||
|
|
||||
|
cwd = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
||||
|
print(cwd) |
||||
|
logger.add(f"{cwd}/my.log", |
||||
|
level="DEBUG", |
||||
|
rotation="00:00", |
||||
|
retention="3 days", |
||||
|
compression="zip", |
||||
|
backtrace=True) |
||||
|
|
||||
|
|
||||
|
class TokenExpiredError(RuntimeError): |
||||
|
"""上游明确告知该 token 已被限流/失效""" |
||||
|
pass |
||||
|
|
||||
|
|
||||
|
class ToolsLoad: |
||||
|
"""工具类:封装数据库和API操作""" |
||||
|
|
||||
|
def __init__(self, db_path: str = "./kimi_tokens.db", db_table: str = "tokens"): |
||||
|
self.db_path = db_path |
||||
|
self.db_table = db_table |
||||
|
self.db_write_lock = threading.Lock() |
||||
|
self._ensure_tokens_table() |
||||
|
|
||||
|
def _ensure_tokens_table(self): |
||||
|
"""确保tokens表存在""" |
||||
|
create_sql = f""" |
||||
|
CREATE TABLE IF NOT EXISTS {self.db_table} ( |
||||
|
id INTEGER PRIMARY KEY AUTOINCREMENT, |
||||
|
phone TEXT, |
||||
|
platform_name TEXT NOT NULL, |
||||
|
token TEXT NOT NULL, |
||||
|
status TEXT DEFAULT 'active', |
||||
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP, |
||||
|
reserved_at DATETIME, |
||||
|
last_used_at DATETIME, |
||||
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP |
||||
|
); |
||||
|
""" |
||||
|
try: |
||||
|
conn = sqlite3.connect(self.db_path, timeout=30) |
||||
|
cur = conn.cursor() |
||||
|
cur.execute("PRAGMA journal_mode=WAL;") |
||||
|
cur.execute("PRAGMA synchronous=NORMAL;") |
||||
|
cur.execute("PRAGMA busy_timeout=5000;") |
||||
|
cur.execute(f"SELECT name FROM sqlite_master WHERE type='table' AND name = ?", (self.db_table,)) |
||||
|
if not cur.fetchone(): |
||||
|
logger.info("tokens 表不存在,创建:{}", self.db_table) |
||||
|
cur.executescript(create_sql) |
||||
|
conn.commit() |
||||
|
cur.close() |
||||
|
conn.close() |
||||
|
except Exception as e: |
||||
|
logger.exception("ensure_tokens_table 错误: {}", e) |
||||
|
|
||||
|
@retry('获取token', 3) |
||||
|
def get_and_reserve_token(self, platform_name: str = "mita", |
||||
|
exclude_tokens: Optional[List[str]] = None, |
||||
|
reserve_timeout: int = 60) -> Optional[Tuple[int, str, Optional[str]]]: |
||||
|
"""原子抢占 token,返回 (rowid, token, phone) 或 None""" |
||||
|
exclude_tokens = exclude_tokens or [] |
||||
|
for attempt in range(6): |
||||
|
conn = None |
||||
|
try: |
||||
|
conn = sqlite3.connect(self.db_path, timeout=30) |
||||
|
cur = conn.cursor() |
||||
|
cur.execute("PRAGMA busy_timeout=5000;") |
||||
|
|
||||
|
# 回收超时的 reserved |
||||
|
cur.execute(f""" |
||||
|
UPDATE {self.db_table} |
||||
|
SET status='active', reserved_at=NULL, updated_at=CURRENT_TIMESTAMP |
||||
|
WHERE platform_name = ? |
||||
|
AND status = 'reserved' |
||||
|
AND reserved_at IS NOT NULL |
||||
|
AND (strftime('%s','now') - strftime('%s', reserved_at)) > ? |
||||
|
""", (platform_name, reserve_timeout)) |
||||
|
if cur.rowcount: |
||||
|
conn.commit() |
||||
|
|
||||
|
# 取候选 |
||||
|
cur.execute(f""" |
||||
|
SELECT rowid, token, phone FROM {self.db_table} |
||||
|
WHERE platform_name = ? AND status = 'active' |
||||
|
ORDER BY created_at ASC, id ASC |
||||
|
LIMIT 10 |
||||
|
""", (platform_name,)) |
||||
|
rows = cur.fetchall() |
||||
|
|
||||
|
candidate = None |
||||
|
for r in rows: |
||||
|
rid, tkn, phone = r |
||||
|
if tkn not in exclude_tokens: |
||||
|
candidate = (rid, tkn, phone) |
||||
|
break |
||||
|
|
||||
|
if not candidate: |
||||
|
cur.close() |
||||
|
conn.close() |
||||
|
return None |
||||
|
|
||||
|
rid, token, phone = candidate |
||||
|
cur.execute(f""" |
||||
|
UPDATE {self.db_table} |
||||
|
SET status = 'reserved', reserved_at = CURRENT_TIMESTAMP, updated_at = CURRENT_TIMESTAMP |
||||
|
WHERE rowid = ? AND status = 'active' |
||||
|
""", (rid,)) |
||||
|
|
||||
|
if cur.rowcount == 1: |
||||
|
conn.commit() |
||||
|
cur.close() |
||||
|
conn.close() |
||||
|
return (rid, token, phone) |
||||
|
else: |
||||
|
conn.rollback() |
||||
|
cur.close() |
||||
|
conn.close() |
||||
|
time.sleep(0.05) |
||||
|
continue |
||||
|
except sqlite3.OperationalError as e: |
||||
|
logger.debug("get_and_reserve_token sqlite busy: {}", e) |
||||
|
try: |
||||
|
if conn: |
||||
|
conn.rollback() |
||||
|
except Exception: |
||||
|
pass |
||||
|
time.sleep(0.05) |
||||
|
continue |
||||
|
except Exception as e: |
||||
|
logger.exception("get_and_reserve_token 异常: {}", e) |
||||
|
try: |
||||
|
if conn: |
||||
|
conn.rollback() |
||||
|
conn.close() |
||||
|
except Exception: |
||||
|
pass |
||||
|
return None |
||||
|
return None |
||||
|
|
||||
|
def _with_sqlite_write_retry(self, op_fn, max_attempts: int = 6, base_delay: float = 0.05) -> bool: |
||||
|
"""写入重试包装器""" |
||||
|
import random |
||||
|
attempt = 0 |
||||
|
while attempt < max_attempts: |
||||
|
attempt += 1 |
||||
|
conn = None |
||||
|
try: |
||||
|
conn = sqlite3.connect(self.db_path, timeout=30) |
||||
|
cur = conn.cursor() |
||||
|
cur.execute("PRAGMA busy_timeout=5000;") |
||||
|
op_fn(conn, cur) |
||||
|
conn.commit() |
||||
|
cur.close() |
||||
|
conn.close() |
||||
|
return True |
||||
|
except sqlite3.OperationalError as e: |
||||
|
logger.debug("sqlite write attempt {} failed: {}", attempt, e) |
||||
|
try: |
||||
|
if conn: |
||||
|
conn.rollback() |
||||
|
conn.close() |
||||
|
except Exception: |
||||
|
pass |
||||
|
sleep_time = base_delay * (2 ** (attempt - 1)) + random.uniform(0, base_delay) |
||||
|
time.sleep(min(sleep_time, 5.0)) |
||||
|
continue |
||||
|
except Exception as e: |
||||
|
logger.exception("sqlite write unexpected error: {}", e) |
||||
|
try: |
||||
|
if conn: |
||||
|
conn.rollback() |
||||
|
conn.close() |
||||
|
except Exception: |
||||
|
pass |
||||
|
return False |
||||
|
logger.error("sqlite write failed after {} attempts", max_attempts) |
||||
|
return False |
||||
|
|
||||
|
def release_token_back_to_active_by_rowid(self, rowid: int): |
||||
|
"""释放token回active状态""" |
||||
|
|
||||
|
def op(conn, cur): |
||||
|
cur.execute(f""" |
||||
|
UPDATE {self.db_table} |
||||
|
SET status='active', reserved_at = NULL, last_used_at = CURRENT_TIMESTAMP, updated_at = CURRENT_TIMESTAMP |
||||
|
WHERE rowid = ? |
||||
|
""", (rowid,)) |
||||
|
|
||||
|
try: |
||||
|
with self.db_write_lock: |
||||
|
ok = self._with_sqlite_write_retry(op) |
||||
|
if ok: |
||||
|
logger.debug("release token rowid={} -> active", rowid) |
||||
|
else: |
||||
|
logger.error("release token rowid={} 失败(重试耗尽)", rowid) |
||||
|
except Exception as e: |
||||
|
logger.exception("release_token_back_to_active_by_rowid 错误: {}", e) |
||||
|
|
||||
|
def mark_token_expired_and_release_by_rowid(self, rowid: int): |
||||
|
"""标记token为expired""" |
||||
|
|
||||
|
def op(conn, cur): |
||||
|
cur.execute(f""" |
||||
|
UPDATE {self.db_table} |
||||
|
SET status='expired', reserved_at = NULL, updated_at = CURRENT_TIMESTAMP |
||||
|
WHERE rowid = ? |
||||
|
""", (rowid,)) |
||||
|
|
||||
|
try: |
||||
|
with self.db_write_lock: |
||||
|
ok = self._with_sqlite_write_retry(op) |
||||
|
if ok: |
||||
|
logger.info("mark token expired rowid={}", rowid) |
||||
|
else: |
||||
|
logger.error("mark token expired rowid={} 失败(重试耗尽)", rowid) |
||||
|
except Exception as e: |
||||
|
logger.exception("mark_token_expired_and_release_by_rowid 错误: {}", e) |
||||
|
|
||||
|
@retry('获取task消息', 5) |
||||
|
def get_task(self): |
||||
|
"""从任务队列获取待处理任务""" |
||||
|
url = "https://api.granking.com/api/third/getTask?app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4&date=2025-09-20&platform_ids=13" |
||||
|
resp = requests.get(url, timeout=(5, 20)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
@retry('提交结果', 5) |
||||
|
def post_task(self, data): |
||||
|
"""提交任务处理结果到服务器""" |
||||
|
url = "https://api.granking.com/api/third/submitProjectTask" |
||||
|
resp = requests.post(url, json=data, timeout=(5, 300)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
@retry('更新任务状态', 5) |
||||
|
def update_task_status(self, task_id: str, status: str): |
||||
|
"""更新任务状态""" |
||||
|
url = "https://api.granking.com/api/third/updateTask?app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4" |
||||
|
payload = {"task_id": task_id, "status": status} |
||||
|
resp = requests.post(url, json=payload, timeout=(5, 20)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
|
||||
|
class MitaChatClient: |
||||
|
"""秘塔AI聊天客户端""" |
||||
|
|
||||
|
def __init__(self): |
||||
|
self.api_url = "https://metaso.cn/api/search/chat" |
||||
|
self.headers = { |
||||
|
"Host": "metaso.cn", |
||||
|
"Connection": "keep-alive", |
||||
|
"metaso-pc": "pc", |
||||
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36", |
||||
|
"accept": "text/event-stream", |
||||
|
"Content-Type": "application/json", |
||||
|
"sec-ch-ua-mobile": "?0", |
||||
|
"Origin": "https://metaso.cn", |
||||
|
"Sec-Fetch-Site": "same-origin", |
||||
|
"Sec-Fetch-Mode": "cors", |
||||
|
"Sec-Fetch-Dest": "empty", |
||||
|
"Accept-Encoding": "gzip, deflate, br, zstd", |
||||
|
"Accept-Language": "zh-CN,zh;q=0.9", |
||||
|
} |
||||
|
|
||||
|
def _build_payload(self, keyword: str, token: str) -> str: |
||||
|
"""构建请求payload""" |
||||
|
post_obj = { |
||||
|
"model": "fast_thinking", |
||||
|
"stream": True, |
||||
|
"messages": [{ |
||||
|
"id": "gbt0t89g3qi08crvopt3rm2", |
||||
|
"key": "4u43disi3vqb7vonb37f", |
||||
|
"conversationId": "temp-" + str(int(time.time() * 1000)), |
||||
|
"role": "user", |
||||
|
"content": keyword, |
||||
|
"markdownContent": keyword, |
||||
|
"engineType": "", |
||||
|
"filter": "all", |
||||
|
"contentType": 0, |
||||
|
"outputHtml": False, |
||||
|
"mode": "detail", |
||||
|
"model": "fast_thinking", |
||||
|
"outputStyle": "正常" |
||||
|
}], |
||||
|
"engineType": "", |
||||
|
"mode": "detail", |
||||
|
"filter": "all", |
||||
|
"outputHtml": False, |
||||
|
"outputStyle": "正常", |
||||
|
"darkMode": False, |
||||
|
"outputLanguage": "中文", |
||||
|
"htmlNoDisplayEnable": True, |
||||
|
"metaso-pc": "pc", |
||||
|
"token": token |
||||
|
} |
||||
|
return json.dumps(post_obj, ensure_ascii=False) |
||||
|
|
||||
|
def chat(self, keyword: str, token: str, cookie: str) -> Tuple[str, List[Dict[str, str]]]: |
||||
|
"""执行聊天请求并获取AI回复""" |
||||
|
headers = dict(self.headers) |
||||
|
headers['Cookie'] = cookie |
||||
|
data = self._build_payload(keyword, token) |
||||
|
|
||||
|
refs_raw: List[Dict[str, str]] = [] |
||||
|
answer_acc = "" |
||||
|
|
||||
|
try: |
||||
|
with requests.post(self.api_url, data=data, headers=headers, stream=True, timeout=(5, 60)) as r: |
||||
|
r.encoding = "utf-8" |
||||
|
if r.status_code != 200: |
||||
|
text = r.text if hasattr(r, "text") else "" |
||||
|
raise RuntimeError(f"Upstream status {r.status_code}: {text[:200]}") |
||||
|
|
||||
|
r.raw.decode_content = True |
||||
|
for ln in r.iter_lines(decode_unicode=True): |
||||
|
if not ln: |
||||
|
continue |
||||
|
# print(ln, end='',flush=True) |
||||
|
# logger.info("SSE line: {}", ln) |
||||
|
|
||||
|
# 检测token失效 |
||||
|
if isinstance(ln, str) and "搜索次数超出限制" in ln: |
||||
|
raise TokenExpiredError("搜索次数超出限制") |
||||
|
|
||||
|
data_lines = [] |
||||
|
if isinstance(ln, str) and ln.startswith("data:"): |
||||
|
data_lines.append(ln[5:].lstrip()) |
||||
|
if not data_lines: |
||||
|
continue |
||||
|
|
||||
|
data_str = "\n".join(data_lines) |
||||
|
try: |
||||
|
ev = json.loads(data_str) |
||||
|
except Exception: |
||||
|
continue |
||||
|
|
||||
|
if ev.get("type") == "heartbeat": |
||||
|
continue |
||||
|
|
||||
|
if ev.get("object") == "chat.completion.qa_with_agent" and "choices" in ev: |
||||
|
for ch in ev["choices"]: |
||||
|
delta = ch.get("delta") or {} |
||||
|
content = delta.get("content") |
||||
|
if isinstance(content, str) and content: |
||||
|
answer_acc += content |
||||
|
|
||||
|
cits = delta.get("citations") or [] |
||||
|
for c in cits: |
||||
|
if c.get("link") == "": |
||||
|
resp = requests.get("https://metaso.cn/api/knowledge/detail/" + c.get("root_id")) |
||||
|
id = resp.json().get("data").get("id") |
||||
|
second_url = c.get("file_meta").get("previewUrl") |
||||
|
url = "https://metaso.cn/subject-v2/" + id + "?displayUrl=" + second_url |
||||
|
item = { |
||||
|
"title": c.get("title", ""), |
||||
|
"url": url, |
||||
|
"author": (c.get("author") or c.get("authors_ori") or c.get( |
||||
|
"institution") or ""), |
||||
|
"displaySource": (c.get("snippet") or c.get("matched_snippet") or ""), |
||||
|
"publish_time": (c.get("date") or c.get("publish_date_str") or "") |
||||
|
} |
||||
|
else: |
||||
|
item = { |
||||
|
"title": c.get("title", ""), |
||||
|
"url": c.get("link", ""), |
||||
|
"author": (c.get("author") or c.get("authors_ori") or c.get( |
||||
|
"institution") or ""), |
||||
|
"displaySource": (c.get("snippet") or c.get("matched_snippet") or ""), |
||||
|
"publish_time": (c.get("date") or c.get("publish_date_str") or "") |
||||
|
} |
||||
|
refs_raw.append(item) |
||||
|
|
||||
|
return answer_acc, refs_raw |
||||
|
|
||||
|
except TokenExpiredError: |
||||
|
raise |
||||
|
except requests.exceptions.RequestException: |
||||
|
raise |
||||
|
except Exception: |
||||
|
raise |
||||
|
|
||||
|
|
||||
|
class Start: |
||||
|
"""秘塔任务处理器主类""" |
||||
|
|
||||
|
def __init__(self): |
||||
|
self.tools = ToolsLoad() |
||||
|
self.client = MitaChatClient() |
||||
|
self.max_token_rotate_tries = 2 |
||||
|
|
||||
|
@retry('处理消息任务', for_work=10) |
||||
|
def process_task(self, task: Dict[str, Any], platform_name: str = "mita") -> Dict[str, Any]: |
||||
|
"""处理单个任务""" |
||||
|
task_id = task.get("id", "") |
||||
|
keyword = task.get("keyword", "") |
||||
|
brand = task.get("brand", "") |
||||
|
platform_id = task.get("platform_id", "") |
||||
|
|
||||
|
logger.info("开始处理任务 {} (keyword={})", task_id, keyword) |
||||
|
exclude_tokens: List[str] = [] |
||||
|
token_tries = 0 |
||||
|
|
||||
|
while token_tries < self.max_token_rotate_tries: |
||||
|
token_tries += 1 |
||||
|
reserve = self.tools.get_and_reserve_token(platform_name=platform_name, exclude_tokens=exclude_tokens) |
||||
|
|
||||
|
if not reserve: |
||||
|
logger.error("没有可用 token(platform={})", platform_name) |
||||
|
raise RuntimeError("未找到可用 TOKEN") |
||||
|
|
||||
|
rowid, token, phone = reserve |
||||
|
logger.info("抢到 token rowid={} phone={} token={}...", rowid, phone or "N/A", |
||||
|
token[:20] if token else "N/A") |
||||
|
|
||||
|
try: |
||||
|
# 使用抢到的 token 发起请求 |
||||
|
answer_acc, refs_raw = self.client.chat( |
||||
|
keyword=keyword, |
||||
|
token="wr8+pHu3KYryzz0O2MaBSNUZbVLjLUYC1FR4sKqSW0r7cpL+iG/2N5cdq9x0z7Bq8yrjvk/Mn0n+M7QhbW+SLnTf1mYlCDjkvCg10L2wwrJzhdhzA38AvbPtjbzdPvpeBjSxLo7TFAba1lm8N3q7qA==", |
||||
|
cookie=token |
||||
|
) |
||||
|
|
||||
|
# 成功 -> 释放 token 回 active |
||||
|
self.tools.release_token_back_to_active_by_rowid(rowid) |
||||
|
|
||||
|
# 组装提交数据 |
||||
|
ts = time.time() |
||||
|
dt = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts)) |
||||
|
result = { |
||||
|
'app_id': 'aa65700299848d6f21b969dbc9f6cf7c', |
||||
|
'secret': '5588071d36f0bc61af849c311a03f2c4', |
||||
|
'platform_id': platform_id, |
||||
|
'platform_name': '秘塔', |
||||
|
'prompt': keyword, |
||||
|
'keyword': brand, |
||||
|
'answer': answer_acc, |
||||
|
'search_result': refs_raw, |
||||
|
'screenshot_file': '', |
||||
|
'run_status': True, |
||||
|
'task_id': task_id, |
||||
|
'rank': 0, |
||||
|
'start_time': dt, |
||||
|
'end_time': dt, |
||||
|
'screenshot_url': '', |
||||
|
'words': [] |
||||
|
} |
||||
|
|
||||
|
logger.info("任务 {} 结果返回: {}", task_id, result) |
||||
|
|
||||
|
if answer_acc == '': |
||||
|
logger.error('获取结果异常重新获取') |
||||
|
return False |
||||
|
post_resp = self.tools.post_task(result) |
||||
|
logger.info("任务 {} 提交返回: {}", task_id, post_resp) |
||||
|
return {"task_id": task_id, "status": "ok", "detail": post_resp} |
||||
|
|
||||
|
except TokenExpiredError as e: |
||||
|
try: |
||||
|
self.tools.update_task_status(task_id, "4") |
||||
|
except Exception: |
||||
|
logger.exception("更新任务状态失败") |
||||
|
msg = str(e) |
||||
|
logger.warning("TokenExpiredError: 标记 token expired (rowid={}) due to: {}", rowid, msg[:200]) |
||||
|
try: |
||||
|
self.tools.mark_token_expired_and_release_by_rowid(rowid) |
||||
|
except Exception: |
||||
|
logger.exception("标记 token expired 失败(忽略并继续)") |
||||
|
exclude_tokens.append(token) |
||||
|
continue |
||||
|
|
||||
|
except RuntimeError as e: |
||||
|
try: |
||||
|
self.tools.update_task_status(task_id, "4") |
||||
|
except Exception: |
||||
|
logger.exception("更新任务状态失败") |
||||
|
msg = str(e) |
||||
|
logger.exception("任务 {} 捕获运行时错误: {}", task_id, msg) |
||||
|
if "搜索次数超出限制" in msg: |
||||
|
logger.warning("识别到 runtime error 表示 token 问题,标记 expired (rowid={}): {}", rowid, msg[:200]) |
||||
|
try: |
||||
|
self.tools.mark_token_expired_and_release_by_rowid(rowid) |
||||
|
except Exception: |
||||
|
logger.exception("标记 token expired 失败(忽略并继续)") |
||||
|
exclude_tokens.append(token) |
||||
|
continue |
||||
|
else: |
||||
|
self.tools.release_token_back_to_active_by_rowid(rowid) |
||||
|
try: |
||||
|
self.tools.update_task_status(task_id, "4") |
||||
|
print('密塔 提交任务成功') |
||||
|
except Exception: |
||||
|
logger.exception("更新任务状态失败") |
||||
|
return {"task_id": task_id, "status": "error", "detail": msg} |
||||
|
|
||||
|
except requests.exceptions.RequestException as e: |
||||
|
logger.exception("网络异常:{}", e) |
||||
|
self.tools.release_token_back_to_active_by_rowid(rowid) |
||||
|
exclude_tokens.append(token) |
||||
|
time.sleep(1.0) |
||||
|
continue |
||||
|
|
||||
|
except Exception as e: |
||||
|
msg = str(e) |
||||
|
logger.exception("未知异常:{}", msg) |
||||
|
if "搜索次数超出限制" in msg: |
||||
|
logger.warning("未知异常文本指示 token 失效,标记 expired (rowid={}): {}", rowid, msg[:200]) |
||||
|
try: |
||||
|
self.tools.mark_token_expired_and_release_by_rowid(rowid) |
||||
|
except Exception: |
||||
|
logger.exception("标记 token expired 失败(忽略并继续)") |
||||
|
exclude_tokens.append(token) |
||||
|
continue |
||||
|
try: |
||||
|
self.tools.release_token_back_to_active_by_rowid(rowid) |
||||
|
except Exception: |
||||
|
logger.exception("密塔 释放 token 失败(忽略)") |
||||
|
try: |
||||
|
self.tools.update_task_status(task_id, "4") |
||||
|
except Exception: |
||||
|
logger.exception("更新任务状态失败") |
||||
|
return {"task_id": task_id, "status": "error", "detail": msg} |
||||
|
|
||||
|
# 达到最大重试仍失败 |
||||
|
logger.error("密塔 任务 {} 达到最大 token 重试次数 ({}) 仍失败", task_id, self.max_token_rotate_tries) |
||||
|
try: |
||||
|
self.tools.update_task_status(task_id, "4") |
||||
|
except Exception: |
||||
|
logger.exception("更新任务状态失败") |
||||
|
return {"task_id": task_id, "status": "error", "detail": "max token rotate tries exceeded"} |
||||
|
|
||||
|
@retry('主运行窗口', for_work=1) |
||||
|
def start_task_msg(self): |
||||
|
"""获取并处理任务""" |
||||
|
task_resp = self.tools.get_task() |
||||
|
if not task_resp: |
||||
|
logger.info("密塔 get_task 未返回有效数据,等待后重试") |
||||
|
time.sleep(5) |
||||
|
return True |
||||
|
|
||||
|
data = task_resp.get("data", False) |
||||
|
# data = {'id': '53191c4f7aa4f0e443d6bce6fd241e67', 'project_id': '019be3ee7b907329bd9114880445cd1f', 'keyword_id': '019be4653db470b39d13449ee5f7afe5', 'keyword': '广州有没有不通过装修公司直接找工长的平台', 'brand': '匠猫', 'platform_id': '4', 'gather_date': '2026-05-06', 'gather_time': '06:00', 'gather_filter': '2026-05-06 00:30:01', 'status': 2, 'retry_count': 2, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-06 11:29:15', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-06 00:30:34', 'update_time': '2026-05-06 11:29:15', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
if not data: |
||||
|
logger.info("密塔 没有任务数据,等待下一轮") |
||||
|
time.sleep(30) |
||||
|
return True |
||||
|
|
||||
|
return self.process_task(data) |
||||
|
|
||||
|
def run(self): |
||||
|
"""主循环""" |
||||
|
logger.info("启动秘塔任务处理器") |
||||
|
while True: |
||||
|
self.start_task_msg() |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
Start().run() |
||||
@ -0,0 +1,18 @@ |
|||||
|
# AI Work Start 依赖模块 |
||||
|
# 使用方式: pip install -r requirements.txt |
||||
|
|
||||
|
# HTTP 请求库 |
||||
|
requests>=2.28.0 |
||||
|
|
||||
|
# JWT Token 解析 (kimistart.py) |
||||
|
PyJWT>=2.6.0 |
||||
|
|
||||
|
# 日志框架 |
||||
|
loguru>=0.6.0 |
||||
|
|
||||
|
# 浏览器自动化 (mita_login.py) |
||||
|
playwright>=1.40.0 |
||||
|
|
||||
|
# 嵌套字典访问 (deepseek_work.py) |
||||
|
glom>=23.3.0 |
||||
|
dateparser |
||||
@ -0,0 +1,98 @@ |
|||||
|
@echo off |
||||
|
chcp 65001 >nul |
||||
|
setlocal enabledelayedexpansion |
||||
|
|
||||
|
echo ======================================== |
||||
|
echo AI Crawler Launcher |
||||
|
echo ======================================== |
||||
|
echo. |
||||
|
echo Input instance count for each crawler |
||||
|
echo Press Enter for default (1), input 0 to skip |
||||
|
echo. |
||||
|
|
||||
|
set /p "ds_count=DeepSeek [default 2]: " |
||||
|
if "!ds_count!"=="" set "ds_count=2" |
||||
|
|
||||
|
set /p "kimi_count=Kimi [default 3]: " |
||||
|
if "!kimi_count!"=="" set "kimi_count=3" |
||||
|
|
||||
|
set /p "mita_count=Mita【密塔】 [default 2]: " |
||||
|
if "!mita_count!"=="" set "mita_count=2" |
||||
|
|
||||
|
set /p "tongyi_count=Tongyi【通义】 [default 1]: " |
||||
|
if "!tongyi_count!"=="" set "tongyi_count=1" |
||||
|
|
||||
|
set /p "yuanbao_count=Yuanbao【元宝】 [default 1]: " |
||||
|
if "!yuanbao_count!"=="" set "yuanbao_count=1" |
||||
|
|
||||
|
set /p "wxyy_count=Wenxin【文心一言】 [default 1]: " |
||||
|
if "!wxyy_count!"=="" set "wxyy_count=1" |
||||
|
|
||||
|
echo. |
||||
|
echo ======================================== |
||||
|
echo Config: |
||||
|
echo ======================================== |
||||
|
echo DeepSeek: !ds_count! |
||||
|
echo Kimi: !kimi_count! |
||||
|
echo Mita: !mita_count! |
||||
|
echo Tongyi: !tongyi_count! |
||||
|
echo Yuanbao: !yuanbao_count! |
||||
|
echo Wenxin: !wxyy_count! |
||||
|
echo ======================================== |
||||
|
echo. |
||||
|
pause |
||||
|
|
||||
|
if !ds_count! gtr 0 ( |
||||
|
echo [1/6] Starting DeepSeek... |
||||
|
for /l %%i in (1,1,!ds_count!) do ( |
||||
|
start cmd /k "title DeepSeek-%%i && python deepseekstart.py" |
||||
|
timeout /t 2 /nobreak >nul |
||||
|
) |
||||
|
) |
||||
|
|
||||
|
if !kimi_count! gtr 0 ( |
||||
|
echo [2/6] Starting Kimi... |
||||
|
for /l %%i in (1,1,!kimi_count!) do ( |
||||
|
start cmd /k "title Kimi-%%i && python kimistart.py" |
||||
|
timeout /t 2 /nobreak >nul |
||||
|
) |
||||
|
) |
||||
|
|
||||
|
if !mita_count! gtr 0 ( |
||||
|
echo [3/6] Starting Mita... |
||||
|
for /l %%i in (1,1,!mita_count!) do ( |
||||
|
start cmd /k "title Mita-%%i && python mitastart.py" |
||||
|
timeout /t 2 /nobreak >nul |
||||
|
) |
||||
|
) |
||||
|
|
||||
|
if !tongyi_count! gtr 0 ( |
||||
|
echo [4/6] Starting Tongyi... |
||||
|
for /l %%i in (1,1,!tongyi_count!) do ( |
||||
|
start cmd /k "title Tongyi-%%i && python tongyistart.py" |
||||
|
timeout /t 2 /nobreak >nul |
||||
|
) |
||||
|
) |
||||
|
|
||||
|
if !yuanbao_count! gtr 0 ( |
||||
|
echo [5/6] Starting Yuanbao... |
||||
|
for /l %%i in (1,1,!yuanbao_count!) do ( |
||||
|
start cmd /k "title Yuanbao-%%i && python yuanbao.py" |
||||
|
timeout /t 2 /nobreak >nul |
||||
|
) |
||||
|
) |
||||
|
|
||||
|
if !wxyy_count! gtr 0 ( |
||||
|
echo [6/6] Starting Wenxin... |
||||
|
for /l %%i in (1,1,!wxyy_count!) do ( |
||||
|
start cmd /k "title Wenxin-%%i && python wxyystart.py" |
||||
|
timeout /t 2 /nobreak >nul |
||||
|
) |
||||
|
) |
||||
|
|
||||
|
echo. |
||||
|
echo ======================================== |
||||
|
set /a "total=!ds_count!+!kimi_count!+!mita_count!+!tongyi_count!+!yuanbao_count!+!wxyy_count!" |
||||
|
echo All started! Total: !total! windows |
||||
|
echo ======================================== |
||||
|
pause |
||||
@ -0,0 +1,276 @@ |
|||||
|
import os |
||||
|
import json |
||||
|
import time |
||||
|
import random |
||||
|
from datetime import datetime |
||||
|
from typing import Any, Dict, List, Optional, Tuple |
||||
|
import requests |
||||
|
from dateparser.data.date_translation_data import pt |
||||
|
|
||||
|
from utlit.retry import retry |
||||
|
from loguru import logger |
||||
|
from utlit.utils import parse_nested_json |
||||
|
|
||||
|
cwd = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
||||
|
print(cwd) |
||||
|
logger.add(f"{cwd}/my.log", |
||||
|
level="DEBUG", |
||||
|
rotation="00:00", |
||||
|
retention="3 days", |
||||
|
compression="zip", |
||||
|
backtrace=True) |
||||
|
|
||||
|
|
||||
|
class ToolsLoad: |
||||
|
"""工具类:封装API操作""" |
||||
|
|
||||
|
@retry('提交结果', 5) |
||||
|
def post_task(self, data): |
||||
|
"""提交任务处理结果到服务器""" |
||||
|
# url = "https://api.granking.com/api/third/submitProjectTask" |
||||
|
# resp = requests.post(url, json=data, timeout=(5, 300)) |
||||
|
# resp.raise_for_status() |
||||
|
if type(data) != str: |
||||
|
data = json.dumps(data, ensure_ascii=False) |
||||
|
|
||||
|
url = "https://api.granking.com/api/third/submitProjectTask" |
||||
|
|
||||
|
payload = data |
||||
|
headers = { |
||||
|
'User-Agent': 'Apifox/1.0.0 (https://apifox.com)', |
||||
|
'Content-Type': 'application/json', |
||||
|
'Accept': '*/*', |
||||
|
'Host': 'api.granking.com', |
||||
|
'Connection': 'keep-alive', |
||||
|
'Cookie': 'lang=zh-cn' |
||||
|
} |
||||
|
|
||||
|
response = requests.request("POST", url, headers=headers, data=payload).json() |
||||
|
|
||||
|
return response |
||||
|
|
||||
|
@retry('获取task消息', 5) |
||||
|
def get_task(self): |
||||
|
"""从任务队列获取待处理任务""" |
||||
|
url = "https://api.granking.com/api/third/getTask?app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4&date=2025-09-20&platform_ids=2" |
||||
|
resp = requests.get(url, timeout=(5, 20)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
@retry('更新任务状态', 5) |
||||
|
def update_task_status(self, task_id: str, status: str): |
||||
|
"""更新任务状态""" |
||||
|
url = "https://api.granking.com/api/third/updateTask?app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4" |
||||
|
payload = {"task_id": task_id, "status": status} |
||||
|
resp = requests.post(url, json=payload, timeout=(5, 20)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
|
||||
|
class TongyiChatClient: |
||||
|
"""通义千问聊天客户端""" |
||||
|
|
||||
|
def __init__(self, cookie): |
||||
|
self.api_url = "https://api.tongyi.com/dialog/conversation" |
||||
|
self.headers = { |
||||
|
"Host": "api.tongyi.com", |
||||
|
"Connection": "keep-alive", |
||||
|
"X-Platform": "pc_tongyi", |
||||
|
"X-XSRF-TOKEN": "76d46e4e-87a0-4a76-8811-8ee300b56c4d", |
||||
|
"sec-ch-ua-mobile": "?0", |
||||
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36", |
||||
|
"accept": "text/event-stream", |
||||
|
"Content-Type": "application/json", |
||||
|
"Origin": "https://www.tongyi.com", |
||||
|
"Sec-Fetch-Site": "same-site", |
||||
|
"Sec-Fetch-Mode": "cors", |
||||
|
"Sec-Fetch-Dest": "empty", |
||||
|
"Referer": "https://www.tongyi.com/qianwen", |
||||
|
"Accept-Encoding": "gzip, deflate, br, zstd", |
||||
|
"Accept-Language": "zh-CN,zh;q=0.9", |
||||
|
"Cookie": cookie, |
||||
|
} |
||||
|
|
||||
|
def _build_payload(self, keyword: str) -> str: |
||||
|
"""构建请求payload""" |
||||
|
post_data = json.dumps({ |
||||
|
"sessionId": "", |
||||
|
"sessionType": "text_chat", |
||||
|
"parentMsgId": "", |
||||
|
"model": "", |
||||
|
"mode": "chat", |
||||
|
"userAction": "new_top", |
||||
|
"actionSource": "", |
||||
|
"contents": [{ |
||||
|
"content": keyword, |
||||
|
"contentType": "text", |
||||
|
"role": "user", |
||||
|
"ext": {"deepThink": True} |
||||
|
}], |
||||
|
"action": "next", |
||||
|
"requestId": "cdd3936e15364cef8415f14e1daa0b07", |
||||
|
"params": { |
||||
|
"deepThink": True, |
||||
|
"specifiedModel": "tongyi-qwen3-max-model", |
||||
|
"lastUseModelList": ["tongyi-qwen3-max-model"], |
||||
|
"recordModelName": "tongyi-qwen3-max-model", |
||||
|
"bizSceneInfo": {} |
||||
|
} |
||||
|
}, ensure_ascii=False) |
||||
|
return post_data |
||||
|
|
||||
|
def chat(self, keyword: str) -> Tuple[str, List[Dict[str, str]]]: |
||||
|
"""执行聊天请求并获取AI回复""" |
||||
|
headers = dict(self.headers) |
||||
|
data = self._build_payload(keyword) |
||||
|
|
||||
|
ai_search_result_list = [] |
||||
|
answer = '' |
||||
|
|
||||
|
try: |
||||
|
with requests.post(self.api_url, data=data, headers=headers, stream=True, timeout=60) as r: |
||||
|
r.encoding = "utf-8" |
||||
|
if r.status_code != 200: |
||||
|
text = r.text |
||||
|
raise RuntimeError(f"Upstream status {r.status_code}: {text[:200]}") |
||||
|
r.raw.decode_content = True |
||||
|
for ln in r.iter_lines(decode_unicode=True): |
||||
|
if not ln: |
||||
|
continue |
||||
|
# logger.info("SSE line: {}", ln) |
||||
|
|
||||
|
if '今日超过调用次数' in ln: |
||||
|
logger.error(ln) |
||||
|
return ln, ln |
||||
|
data_str = ln.replace('data: ', '') |
||||
|
data = parse_nested_json(data_str) |
||||
|
# 获取结果 |
||||
|
contents = data.get('contents', []) |
||||
|
# 保存搜索内容 |
||||
|
for content in contents: |
||||
|
content_type = content.get('contentType', '') |
||||
|
if content_type == 'referenceLink': |
||||
|
search_result_list = content.get("content", {}).get("links", []) |
||||
|
for search_result in search_result_list: |
||||
|
dic = {} |
||||
|
dic["url"] = search_result.get('url', '') |
||||
|
title = search_result.get('title', '') |
||||
|
dic["title"] = title |
||||
|
dic["body"] = search_result.get('body', '') |
||||
|
dic["host_name"] = title.rsplit('-', 1)[1] if '-' in title else '未知' |
||||
|
dic["publish_time"] = search_result.get('time', 0) |
||||
|
ai_search_result_list.append(dic) |
||||
|
if content_type == 'text': |
||||
|
answer = content.get('content', '') |
||||
|
|
||||
|
return answer, ai_search_result_list |
||||
|
|
||||
|
except requests.exceptions.RequestException: |
||||
|
raise |
||||
|
except Exception: |
||||
|
raise |
||||
|
|
||||
|
|
||||
|
class Start: |
||||
|
"""通义千问任务处理器主类""" |
||||
|
|
||||
|
def __init__(self, cookie): |
||||
|
self.tools = ToolsLoad() |
||||
|
self.client = TongyiChatClient(cookie) |
||||
|
|
||||
|
@retry('处理消息任务', for_work=0, time_sleep=60) |
||||
|
def process_task(self, task, a): |
||||
|
"""处理单个任务""" |
||||
|
task_id = task.get("id", "") |
||||
|
keyword = task.get("keyword", "") |
||||
|
brand = task.get("brand", "") |
||||
|
platform_id = task.get("platform_id", "") |
||||
|
|
||||
|
logger.info(f"账号:{a} 开始处理任务 {task_id} (keyword={keyword})", task_id, keyword) |
||||
|
|
||||
|
# 使用通义千问API发起请求 |
||||
|
answer, search_result = self.client.chat(keyword=keyword) |
||||
|
if '今日超过调用次数' in answer: |
||||
|
print(f'账号:{a} 今天超过限制') |
||||
|
time.sleep(30*60) |
||||
|
return False |
||||
|
|
||||
|
# 组装提交数据 |
||||
|
ts = time.time() |
||||
|
dt = datetime.fromtimestamp(ts).strftime("%Y-%m-%d %H:%M:%S") |
||||
|
dic1 = {"2": "通义千问"} |
||||
|
result = { |
||||
|
'app_id': 'aa65700299848d6f21b969dbc9f6cf7c', |
||||
|
'secret': '5588071d36f0bc61af849c311a03f2c4', |
||||
|
'platform_id': platform_id, |
||||
|
'platform_name': dic1.get(platform_id), |
||||
|
'prompt': keyword, |
||||
|
'keyword': brand, |
||||
|
'answer': answer, |
||||
|
'search_result': search_result, |
||||
|
'screenshot_file': '', |
||||
|
'run_status': True, |
||||
|
'task_id': task_id, |
||||
|
'rank': 0, |
||||
|
'start_time': dt, |
||||
|
'end_time': dt, |
||||
|
'screenshot_url': '', |
||||
|
'words': [] |
||||
|
} |
||||
|
|
||||
|
logger.info(f"账号:{a} 任务 {keyword} 结果返回: {result}") |
||||
|
post_resp = self.tools.post_task(result) |
||||
|
logger.info(f"账号:{a} 提交返回: {post_resp}") |
||||
|
return True |
||||
|
|
||||
|
@retry('主运行窗口', for_work=1) |
||||
|
def start_task_msg(self, a): |
||||
|
"""获取并处理任务""" |
||||
|
task_resp = self.tools.get_task() |
||||
|
# task_resp = {} |
||||
|
# task_resp['data'] = {'id': 'eb457930e154753c5964404e7a8e0d5d', 'project_id': '019df74fec257337813e2651180be6e0', 'keyword_id': '019df777e80471ed9e7b862d898b085e', 'keyword': '点外卖有没有省钱技巧', 'brand': '美团', 'platform_id': '4', 'gather_date': '2026-05-06', 'gather_time': '06:00', 'gather_filter': '2026-05-06 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-06 11:39:42', 'screen_url': '', 'priority': 1200, 'start_time': None, 'end_time': None, 'create_time': '2026-05-06 00:32:09', 'update_time': '2026-05-06 11:39:42', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
print(task_resp) |
||||
|
if not task_resp: |
||||
|
logger.info(f"get_task 未返回有效数据,等待后重试: 账号{a}") |
||||
|
time.sleep(5) |
||||
|
return True |
||||
|
|
||||
|
data = task_resp.get("data", False) |
||||
|
if not data: |
||||
|
logger.info(f"没有任务数据,等待下一轮: 账号{a}") |
||||
|
time.sleep(30) |
||||
|
return True |
||||
|
|
||||
|
return self.process_task(data, a) |
||||
|
|
||||
|
def run(self, a): |
||||
|
"""主循环""" |
||||
|
logger.info(f"启动通义千问任务处理器: {a}") |
||||
|
while True: |
||||
|
self.start_task_msg(a) |
||||
|
time.sleep(random.uniform(5, 10)) |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
cks = [ |
||||
|
"UM_distinctid=19ba052efa8581-06dddb8c662afe8-26061a51-4b9600-19ba052efa9883; _ON_EXT_DVIDN=eCy#AANaRJDxEVb8bqwLxl0KH/LbC9Qr4fNXN8jM0ilCEryuKtBG5KxxupJRI201LiXuKkA=; _qk_bx_ck_v1=eyJkZXZpY2VJZCI6ImVDeSNBQU5hUkpEeEVWYjhicXdMeGwwS0gvTGJDOVFyNGZOWE44ak0waWxDRXJ5dUt0Qkc1S3h4dXBKUkkyMDFMaVh1S2tBPSIsImRldmljZUZpbmdlcnByaW50IjoiNDkzMTBjMmY1ZDk5ZmRjMmYwNmJkMjU5MjYzMjAzMzIifQ==; tongyi_sso_ticket=64kQ7YnAty8knctY0wC4BRzmgpubGDzpf8Gz1g_BynogsOH1apRX0qcdzyjCw$oV3MA93SvC4gFR0; tongyi_sso_ticket_hash=tytk_hash:1086e3f695c3ed852ed9eb88d0a14438; theme-mode=light; _qw_bx_timeout_v1=1000; xlly_s=1; _qk_bx_um_v1=eyJ1ZCI6IlQyZ0EzZEh3ZFdqOUFoUlV2Q2Z1WWZQOUhOekdSVnN5VEhLTzJmMV9zNGVGOWw3YzFDRVJuUXlsTjB3c3NxNzVDbTg9IiwiZXAiOjE3NzcyOTA2MTEyNjR9; JSESSIONID=52154072221ECD03C5145FF3DCD02AC2; sm_uuid=7917b46d4e5f49dea2557d62e77f2cad|||1777270865; sm_ruid=7917b46d4e5f49dea2557d62e77f2cad|||1777270865; isg=BFRUK5WUwehqr1UHZoMeoFJjJZLGrXiXguk40u42HV3-2f8jCr4wJk6b2dHBIbDv; tfstk=gJ6IlXvpF20ISIZLy2rZfGmrVk9Wplyqv0tRmgHE2ppKy4Iv7HSUtgu-FNTNLeSepUi5ziLKJUhpXGKcr3E3ZBhWXH-Yx4Fo9Rd5o30-weLKXfQRrub5qkxJyaQWz6Pa3MjHELUVN-yVxpH09hQIeYnT23KrelRpSgfS4LU4u-lZXB4eeM8a3gROXFxSpXKdyFL9YFK-9LQJWCKv02pJeaE6WnxDyvdJwRK92FLJeLQRXltyWHpJeaITf3cmYVtrRhSQ2dNXl8DYDGTseYB6XzxdAbHDvt-BOEIdd1f1CTABkMLsFyKYLf8WStUa1GbN9w-GP-a6BiC6peWTkYTPi9jOCBn-sMp9RiA1syM9bQTC69ds2YIHQ1bPNwaIteCF5Ix960wDbZ8Ox9C_qVIdue9pXCyYcGdR_9AcLPHBHsjeL_QTCv_A43M2lSFtNcOmFhT4flGoZUpDdFVUyP0H9hxL3lZs7TApjhalUlGBgBKMvHq_f2fc." |
||||
|
, |
||||
|
"UM_distinctid=19dcd9ce400560-0f72c9a22d56308-26061e51-4b9600-19dcd9ce401f70; theme-mode=light; _samesite_flag_=true; _qw_bx_timeout_v1=1000; xlly_s=1; _ON_EXT_DVIDN=eCy#AAP69RjfUKviqCemYO4tUEEbXeNf0IeAt7xAzQGjSxbQ4DTdN8VLAwl2+uh+Nc7hK7s=; _qk_bx_ck_v1=eyJkZXZpY2VJZCI6ImVDeSNBQVA2OVJqZlVLdmlxQ2VtWU80dFVFRWJYZU5mMEllQXQ3eEF6UUdqU3hiUTREVGROOFZMQXdsMit1aCtOYzdoSzdzPSIsImRldmljZUZpbmdlcnByaW50IjoiZjFiYzg5OTA3YmE4ZjlmNzlhYWY5MDZkOGI4Yjk0ZDYifQ==; tongyi_sso_ticket=mG0YF*jzmRq19aotQ8mEwpfbGzzg_8yn1gsBH1opRO0qadzXjCc$oy0bNs1h*5poA2RM9ZsXXxZ_0; tongyi_sso_ticket_hash=tytk_hash:7c21ff5373b02f1999eec4ebaf3d4c3e; _qk_bx_um_v1=eyJ1ZCI6IlQyZ0FhVTBLMG9DNlBDbmF4TmhYSFg1QnBsa3Nxb2NtaW9HTFFZdHZ6dnR3NnNUalpOUHNoU0VRVGFsT0pJSTFHMzQ9IiwiZXAiOjE3NzcyOTEwNTQwMzN9; isg=BGBg0WgjHUyX3qFIiyOQ1uUSMW4yaUQz3nWsPtpzuXsO1QP_hH85wlMjbX3V5fwL; tfstk=gtFjkiGx1nxb_tbAXn7yPzqNVLhsfa5ekFgT-Pd2WjhvXhUK4qzVnP-91uizgmzqMcT_bynvDcpxyz33jVQcIxpsyqudohBMH_H_xVx9BmnvyLETjNq_SZ0tXlEsb-WPTr4msfIUC65UoWbICbrsHqL-wz0MHnBrHDzgVFsFY651HUh1cMzqaTujeVm-kIn96aM-72ltkIHOP03s-dKYXfQ5P20wHIHt6z3--qGtXlhOPzno5f3YXfQ7y00tGY-S7ngzlNh5Qk-e754xVCdTM1DoA3ixr4FSlxiKe0OOz7gjhDUY90mrw4FzNvky7MG8-8rxPX16wjMQiWM8MgAsEli-CShwRCU70zeECSQGnzNscvFxFeRsiz0TXAwlABujg8MQG-bM2rEEcJh07es4PvwSK4HJ5Kh4LyPipSCXx0kn5kgQcnsPsBoCpTp6PvAsPD75PdviXXcjqEE568MxrqCFPatzsx3oPXVNPKaZH40xoa_WmJf..", |
||||
|
"UM_distinctid=19e05ace6c8c33-09261779579fda8-3e2d0c10-4b9600-19e05ace6c9238d; theme-mode=light; XSRF-TOKEN=981723fa-0ff7-4547-aef1-cc35a3595a27; XSRF-TOKEN=981723fa-0ff7-4547-aef1-cc35a3595a27; _samesite_flag_=true; cna=YUmEIiHa0V0BASQOA6JJaFj0; xlly_s=1; tongyi_sso_ticket=i3jTmA0ScpUF9_URVf8laU62yErIoFfA5fbKzzp_8Gn1gsBy1ogROHqapzX0Ccdoyjpp$dlMt9Vx0; tongyi_sso_ticket_hash=tytk_hash:7dc1a46667e392197baa4ee790996810; _qw_bx_timeout_v1=1000; _qk_bx_um_v1=eyJ1ZCI6IlQyZ0FMdEc0OTAwTWpBZGpGekJyRWFuU2MtTW43TnFkcHZMR3dMUzdmbjZfRFNxT19mUDBpb0tQWjFoUF82NGg1MEk9IiwiZXAiOjE3NzgyMzE1NjM4MDB9; _ON_EXT_DVIDN=eCy#AAN+t8g6Jgo7lk9g6nVWuKQG41eJGKhn3xtt9gIWttxDf5dnraiMiEYZBPXH9thFpLU=; _qk_bx_ck_v1=eyJkZXZpY2VJZCI6ImVDeSNBQU4rdDhnNkpnbzdsazlnNm5WV3VLUUc0MWVKR0tobjN4dHQ5Z0lXdHR4RGY1ZG5yYWlNaUVZWkJQWEg5dGhGcExVPSIsImRldmljZUZpbmdlcnByaW50IjoiZmM2OGNhODQyYmJiYzhkMjkyNzg0MzY5MzU3NGJlZTAifQ==; tfstk=g5OjdRwoLoqju-gxXouzR4JQwvC1C4lU1P_9-FF4WsCYXlLd4Z8qnFrT13sygi8VMrvkYeF2gxfa1sfG6DoETXz2o1ft0wZwHrfRJNbt_iFOwsbNeM0atX8DozUbX2J-Tf9vHq_OXhBA2TQG2NITMhCR2Zj8MNFAWu35SgCOWSC9ybQ1JSQAWhL-PNjRX1BvX_35SgIO61hkiu_aca8jSWtDk0ocdEI765dxstsBqRP_1Q_fhCLcVe8eNZ6fvOwtnWOv4Fd2iTDzE1Yydh99jvylGFpAMw8mG71pkLR1zCuaCiKDNUdcFyPFhdQ1p1B7W5L5igtH16hLVavJuddDcPNOoIRFCMXSW5XNwBWppnai-UCAWhXH_DVcDFLHtp5Ia-CpPdKBCglLTMNs1Ra5K5_5Y4g7IRbXb_x7eEplitQlkXuSPuRGHab5Y4g7IRXArZpEP4Zys; isg=BIWF_lLhQPmoH2SlrMQVsLz2lMG_QjnUoqsvY4fqVrzLHqSQT5SNpW70KELoXlGM", |
||||
|
"theme-mode=light; UM_distinctid=19e05b28ed7955-03ad77104f659d-26061e51-4b9600-19e05b28ed82437; _samesite_flag_=true; cna=1EqEIqjt7DoBASQOA6IeP4xK; xlly_s=1; tongyi_sso_ticket=tzORv5J3LepQEjEdUDyvNFsFZo4pS7yOCOmHb6_zpf8Gz1g_BynogsOH1apRX0qcdzyjCs$oToJZ0; tongyi_sso_ticket_hash=tytk_hash:e82adda9bb503f4191b289ead1b14d63; _qw_bx_timeout_v1=1000; _qk_bx_um_v1=eyJ1ZCI6IlQyZ0FGdTNROTFQcy1iWHhObUc4ZlBuZmRHREVpaGpoVXBaa3ZmSTVLMXoyM0ZadElWVEtONk5JbThzcVdFay0xR289IiwiZXAiOjE3NzgyMzE5OTgzMjd9; _ON_EXT_DVIDN=eCy#AAN0QZ7GfNvzHKFVXascdh5MAeWZDi5pOITilZF1SufTkDmYnCose670VWvcyAexoyA=; _qk_bx_ck_v1=eyJkZXZpY2VJZCI6ImVDeSNBQU4wUVo3R2ZOdnpIS0ZWWGFzY2RoNU1BZVdaRGk1cE9JVGlsWkYxU3VmVGtEbVluQ29zZTY3MFZXdmN5QWV4b3lBPSIsImRldmljZUZpbmdlcnByaW50IjoiNTUxMDQ4YmU0MDZlZWExZjMxMjJjMGI3YzU3YWQzYjQifQ==; isg=BNTUmYKXQXq3K9U2QnTuqI0BpRJGLfgXAmm4Um61Id_iWXWjlj89p2caWVFBoTBv; tfstk=gTBiQsMR71R_Hr0UEqJ_tLDrFgNL6d9X_ZHvkKL4Te8IWVHO0Kyckw3O6iI2oZbpRZAbfEL2oZIV6ke8eGs6hKu0y8eJAwVzhN0wbAr2Tn-7vhuDFIiJhKz8JXH218vfSWF1MISUxnKj_E72_2ueRnDquZ8wT2-kVK8VuZJE83tq3AJ2uMkeRnJ2uZJ4xM8BmK8VuKrhYbqE_UK2W9zWTSzElLYhKhAMzMVS3xvEeC8PbeD4z9xGuUSw-xkvzYWoqMjTSYspCT_k2NeEIaj5dwxFz-4Hhw1VunbUFqp1wN6WtMNrLMpMRQ8FUVlwqdYMaORI4usyg6XHBOzjNMIH7Qvd9Wa9MdbGNUOaOy_cxFQVIBugJECRvORhzyHhlIf5DnbgIA7P4ThEacAjhHrALjGX_HtHy8q3FV3UM3zTxkcRcC-B0_E3xjie_Ht1LkqnwuOwAhc5.", |
||||
|
"UM_distinctid=19ddcfffe19a71-0c0744a63b8dda-3639313d-384000-19ddcfffe1a1453; cna=q995Iue97B8BASQOA6LqO1pE; theme-mode=light; XSRF-TOKEN=92291628-a38e-4df2-9aac-d6b57f792715; XSRF-TOKEN=92291628-a38e-4df2-9aac-d6b57f792715; _samesite_flag_=true; xlly_s=1; tongyi_sso_ticket=OH1apRX0qcdzyjCO$oQ4ZwftL86kfpryzHZDMYSOyYmUxtIy8120EXqC9SxFpfbGzzg_8yn1gsBo0; tongyi_sso_ticket_hash=tytk_hash:c675b29ed9350cb9b78985f3fc3dbc38; _qw_bx_timeout_v1=1000; _qk_bx_um_v1=eyJ1ZCI6IlQyZ0E0SFh0SFJZUi1pTUdsd0pMVW54dGpoTW42YzBsU01yUHd6WlU4RTkwYWZnQ1dnZV9STjJqWUk3RHQ0N0N1clE9IiwiZXAiOjE3NzgyMzIwOTkzNjV9; _ON_EXT_DVIDN=eCy#AANZeumXYKgKaJ1C0WYy/5zae+9aEypxdTTXRjAdaEFdbxEbsWjTyHOboXBq7dY6HoA=; _qk_bx_ck_v1=eyJkZXZpY2VJZCI6ImVDeSNBQU5aZXVtWFlLZ0thSjFDMFdZeS81emFlKzlhRXlweGRUVFhSakFkYUVGZGJ4RWJzV2pUeUhPYm9YQnE3ZFk2SG9BPSIsImRldmljZUZpbmdlcnByaW50IjoiNzNiMmRhYjNmODFmMjNiMDcyNzlkMzg3YmE1YjQ3MjAifQ==; isg=BJuboV2fdt_EYYokjKJgrYBMKv8FcK9yXXbrqI3YKRqxbLtOFUMfwi8vBsxizAdq; tfstk=gRz-arc2stXugv_fBUj0xU5TpICmyiVyZ8P6-vDkA-eY15JoA0qoJkF_BDmCU44LH4z0qeDlU2FQI2BGINbga7orROXGME7Hd2GC-vsmV_VGJ36GINbcVIgdeOVkiQ8icXkjNXTIAsHjtXuINbMCMxGK_H97d21AMXh6NHMWRjij6XgIdJgCMSMq92G7d21YGxlIZ3C-3aGwJoz5u71ADSLBRrh-ciVShi2LkbnmC7aJReGsw0H_NxW84ssEcWoL8B8KY7ZaLfwWFOmzOoexw2QDVVNYARh4PNv-guVbsxN9TePryrUYAmC5PS3-ec4bnQKIykwzJ0rJT1PjP-rZQ0sV3jUuSDHZDK67iSHSXkel3eMuXSwxjrvDS2y4AJGLhLIznP4TizpiBXx5MsKeY0G2yhMOU2AvUClxI_iWYHoTujHGMcxeYmUZMAfJ2H-E0t5.." |
||||
|
] |
||||
|
from threading import Thread |
||||
|
|
||||
|
T = [] |
||||
|
a = 1 |
||||
|
for ck in cks: |
||||
|
A = Thread(target=Start(ck).run, args=(a,)) |
||||
|
T.append(A) |
||||
|
A.start() |
||||
|
time.sleep(2) |
||||
|
a += 1 |
||||
|
for a in T: |
||||
|
a.join() |
||||
|
|
||||
|
# Start().run() |
||||
@ -0,0 +1,71 @@ |
|||||
|
import time |
||||
|
|
||||
|
import requests |
||||
|
from Crypto.Cipher import AES |
||||
|
from Crypto.Util.Padding import pad |
||||
|
import base64, json |
||||
|
|
||||
|
KEY = b"qikgqemuuiukckyc" |
||||
|
IV = b"1234567887654321" |
||||
|
|
||||
|
def encrypt_payload(e): |
||||
|
data = json.dumps(e, separators=(",", ":")).encode() |
||||
|
cipher = AES.new(KEY, AES.MODE_CBC, IV) |
||||
|
enc = cipher.encrypt(pad(data, 16)) |
||||
|
return base64.b64encode(enc).decode() |
||||
|
t = int(time.time()*1000) |
||||
|
def index(): |
||||
|
url = "https://yiyan.baidu.com/" |
||||
|
headers = { |
||||
|
"Host": "yiyan.baidu.com", |
||||
|
"Connection": "keep-alive", |
||||
|
# "sec-ch-ua": ""Google Chrome";v="143", "Chromium";v="143", "Not A(Brand";v="24"", |
||||
|
"sec-ch-ua-mobile": "?0", |
||||
|
# "sec-ch-ua-platform": ""Windows"", |
||||
|
"Upgrade-Insecure-Requests": "1", |
||||
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36", |
||||
|
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", |
||||
|
"Sec-Fetch-Site": "none", |
||||
|
"Sec-Fetch-Mode": "navigate", |
||||
|
"Sec-Fetch-User": "?1", |
||||
|
"Sec-Fetch-Dest": "document", |
||||
|
"Accept-Encoding": "gzip, deflate, br, zstd", |
||||
|
"Accept-Language": "zh-CN,zh;q=0.9", |
||||
|
# "Cookie": "RT="z=1&dm=baidu.com&si=7dba0974-80fd-4072-874e-e0350e75fdf3&ss=mkuvum3j&sl=7&tt=77k&bcn=https%3A%2F%2Ffclog.baidu.com%2Flog%2Fweirwood%3Ftype%3Dperf&ld=5qoc&ul=9d2k&hd=9dub"", |
||||
|
} |
||||
|
|
||||
|
resp = requests.request(method="GET",url=url, headers=headers, verify=False) |
||||
|
return '; '.join([f'{name}={value}' for name, value in resp.cookies.items()]),resp.headers.get("Set-Cookie") |
||||
|
def wxyy(Token,text,cookie_str): |
||||
|
url = "https://yiyan.baidu.com/eb/chat/conversation/v2" |
||||
|
headers = { |
||||
|
"Host": "yiyan.baidu.com", |
||||
|
"Connection": "keep-alive", |
||||
|
"sec-ch-ua-platform": "Windows", |
||||
|
"Device-Type": "pc", |
||||
|
"sec-ch-ua": '"Google Chrome";v="143", "Chromium";v="143", "Not A(Brand";v="24"', |
||||
|
"sec-ch-ua-mobile": "?0", |
||||
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36", |
||||
|
"Accept": "text/event-stream,application/json, text/event-stream", |
||||
|
"Acs-Token": Token, |
||||
|
"Content-Type": "application/json", |
||||
|
"Origin": "https://yiyan.baidu.com", |
||||
|
"Sec-Fetch-Site": "same-origin", |
||||
|
"Sec-Fetch-Mode": "cors", |
||||
|
"Sec-Fetch-Dest": "empty", |
||||
|
"Referer": "https://yiyan.baidu.com/chat/", |
||||
|
"Accept-Encoding": "gzip, deflate, br, zstd", |
||||
|
"Accept-Language": "zh-CN,zh;q=0.9", |
||||
|
"Cookie": cookie_str |
||||
|
} |
||||
|
# |
||||
|
post_data = {"sign":Token,"timestamp":int(time.time()*1000),"deviceType":"pc","jt":"","text":text,"sessionId":"","sessionName":text,"pluginIds":"","type":10,"plugins":[],"pluginInfo":[],"deepThoughtStatus":2,"isAgentSquare":False,"model":"EB45T","newAppSessionId":None,"file_ids":[],"assistantId":"","enableNewTextCreationGoal":False,"isSlowThought":False,"parentChatId":"0","isNewYiyan":True} |
||||
|
resp = requests.request(method="POST",url=url, json=post_data, headers=headers, verify=True) |
||||
|
print(resp.text) |
||||
|
# cookie_str,baiduid =index() |
||||
|
# e ={"d0":"ka0oitptemc1jfshcdsx","ua":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36","baiduid":baiduid,"platform":"Win32","d23":0,"d1":"","d2":0,"hf":"","hfe":"","h0":"","d78":57815,"d420":0,"clientTs":t,"version":"1.4.0.3","extra":"","odkp":0} |
||||
|
# a= encrypt_payload(e) |
||||
|
# Token = '1769396406334_'+str(t)+"_"+a |
||||
|
# # print(Token) |
||||
|
# text = '苹果手机怎么样' |
||||
|
# wxyy(Token,text,cookie_str) |
||||
@ -0,0 +1,95 @@ |
|||||
|
import os |
||||
|
|
||||
|
import requests |
||||
|
from loguru import logger |
||||
|
import inspect |
||||
|
from functools import wraps |
||||
|
|
||||
|
cwd = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
||||
|
print(cwd) |
||||
|
logger.add(f"{cwd}/my.log", # log文件地址 |
||||
|
level="DEBUG", # log记录最低级别 |
||||
|
rotation="00:00", # 将日志记录以大小、时间等方式进行分割或划分 |
||||
|
retention="3 days", # 文件保留时间 |
||||
|
compression="zip", # 文件压缩格式 |
||||
|
backtrace=True, |
||||
|
# rotation="1 MB" # 滚动大日志文件 |
||||
|
|
||||
|
) |
||||
|
LOGGER = logger |
||||
|
|
||||
|
|
||||
|
def send_mag(content): |
||||
|
for i in range(3): |
||||
|
try: |
||||
|
url = 'https://jdtbpdd.cn/wx/send_msg?' |
||||
|
data = {'content': content} |
||||
|
res = requests.post(url, data=data).json() |
||||
|
logger.info(f'消息发送结果:{res}') |
||||
|
return res |
||||
|
except Exception as e: |
||||
|
logger.error(f'推送消息异常:{e}') |
||||
|
return None |
||||
|
|
||||
|
|
||||
|
def _get_caller_info(): |
||||
|
frame = inspect.currentframe() |
||||
|
try: |
||||
|
caller = frame.f_back.f_back # 跳过 wrapper 自身 |
||||
|
return f"{caller.f_code.co_filename}:{caller.f_lineno}" |
||||
|
finally: |
||||
|
del frame |
||||
|
|
||||
|
|
||||
|
def retry(name='备注', log=True, result_log=False, over_msg=False, error_msg=True): |
||||
|
""" |
||||
|
|
||||
|
:param name: |
||||
|
:param log: 日志是否打印 |
||||
|
:param result_log: 返回结果日志是否打印 |
||||
|
:param over_msg: 成功是否推送 |
||||
|
:param error_msg: 失败是否推送 |
||||
|
:return: |
||||
|
""" |
||||
|
|
||||
|
def retry_fun(fun): |
||||
|
@wraps(fun) |
||||
|
def wrapper(*args, **kwargs): |
||||
|
|
||||
|
caller_info = _get_caller_info() if log else "" |
||||
|
|
||||
|
if log: |
||||
|
logger.info(f"[{name}] 开始: {caller_info}") |
||||
|
|
||||
|
try: |
||||
|
result = fun(*args, **kwargs) |
||||
|
if log: |
||||
|
if result_log: |
||||
|
logger.info(f"[{name}] 调用成功: {caller_info} result:{str(result)}") |
||||
|
else: |
||||
|
logger.info(f"[{name}] 调用成功: {caller_info}") |
||||
|
if over_msg: |
||||
|
send_mag(f"[{name}] 调用成功:\n[执行程序]:{caller_info}\n[返回结果]:{str(result)}") |
||||
|
return result |
||||
|
except Exception as e: |
||||
|
if log: |
||||
|
logger.exception(f"[{name}] 异常调用: {caller_info} - {e}") |
||||
|
else: |
||||
|
logger.exception(f"[{name}] 异常: {e}") |
||||
|
if error_msg: |
||||
|
send_mag(f"[{name}]: 异常调用:\n[执行程序]:{caller_info}\n[异常内容]:{e}") |
||||
|
# raise # ⚠️ 强烈建议保留(否则异常被吞掉) |
||||
|
|
||||
|
return wrapper |
||||
|
|
||||
|
return retry_fun |
||||
|
|
||||
|
|
||||
|
@retry(name='测试', over_msg=True) |
||||
|
def test(): |
||||
|
|
||||
|
return 'mytest' |
||||
|
|
||||
|
|
||||
|
if __name__ == '__main__': |
||||
|
test() |
||||
@ -0,0 +1,32 @@ |
|||||
|
from functools import wraps |
||||
|
import time |
||||
|
|
||||
|
|
||||
|
def retry(name='name', for_work=1, time_sleep=2): |
||||
|
def decorator(func): |
||||
|
@wraps(func) |
||||
|
def wrapper(*args, **kwargs): |
||||
|
a = 0 |
||||
|
while True: |
||||
|
try: |
||||
|
res = func(*args, **kwargs) |
||||
|
if res: |
||||
|
return res |
||||
|
else: |
||||
|
print(name, ':异常结果重新处理') |
||||
|
time.sleep(time_sleep) |
||||
|
except Exception as e: |
||||
|
print(f'[{name}]:{e}') |
||||
|
time.sleep(time_sleep) |
||||
|
a += 1 |
||||
|
if for_work == 0: |
||||
|
continue |
||||
|
if a >= for_work: |
||||
|
break |
||||
|
|
||||
|
print(f'[{name}]:多次请求失败') |
||||
|
return False |
||||
|
|
||||
|
return wrapper |
||||
|
|
||||
|
return decorator |
||||
@ -0,0 +1,146 @@ |
|||||
|
import sqlite3 |
||||
|
import os |
||||
|
from typing import List, Dict, Optional |
||||
|
|
||||
|
# 假设 DB_PATH 和 DB_TABLE 在脚本顶部已定义 |
||||
|
# DB_PATH = "./kimi_tokens.db" |
||||
|
# DB_TABLE = "tokens" |
||||
|
|
||||
|
def upsert_token(db_path: str, table: str, phone: Optional[str], platform_name: str, token_value: str, status: str = "active") -> bool: |
||||
|
""" |
||||
|
插入或更新单条 token。 |
||||
|
- 如果表有 UNIQUE(phone, platform_name) 约束(推荐),会替换已有记录。 |
||||
|
- 如果没有 UNIQUE 约束,函数会先尝试按 (phone, platform_name) 查找更新,否则插入新行。 |
||||
|
返回 True 表示成功。 |
||||
|
""" |
||||
|
if not os.path.exists(db_path): |
||||
|
# 如果 db 文件不存在,create table 需事先调用 ensure_tokens_table() |
||||
|
# 这里仍尝试连接,会在后续创建表时被捕获 |
||||
|
pass |
||||
|
|
||||
|
conn = sqlite3.connect(db_path, timeout=5) |
||||
|
cur = conn.cursor() |
||||
|
try: |
||||
|
# 先尝试按 phone+platform_name 更新(如果 phone 为 None,则只按 platform_name 更新——谨慎使用) |
||||
|
if phone is not None: |
||||
|
cur.execute(f"SELECT id FROM {table} WHERE phone = ? AND platform_name = ?", (phone, platform_name)) |
||||
|
row = cur.fetchone() |
||||
|
if row: |
||||
|
cur.execute(f"UPDATE {table} SET token = ?, status = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?", (token_value, status, row[0])) |
||||
|
conn.commit() |
||||
|
return True |
||||
|
else: |
||||
|
# phone is None:按 platform_name 更新最新一条 active/任意记录(谨慎) |
||||
|
cur.execute(f"SELECT id FROM {table} WHERE platform_name = ? ORDER BY created_at DESC LIMIT 1", (platform_name,)) |
||||
|
row = cur.fetchone() |
||||
|
if row: |
||||
|
cur.execute(f"UPDATE {table} SET token = ?, status = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?", (token_value, status, row[0])) |
||||
|
conn.commit() |
||||
|
return True |
||||
|
|
||||
|
# 若没找到可更新的记录,插入新行 |
||||
|
cur.execute(f"INSERT INTO {table} (phone, platform_name, token, status) VALUES (?, ?, ?, ?)", (phone, platform_name, token_value, status)) |
||||
|
conn.commit() |
||||
|
return True |
||||
|
except sqlite3.IntegrityError: |
||||
|
# 如果你的表定义了 UNIQUE(phone,platform_name) 并触发了冲突,可以用 replace |
||||
|
try: |
||||
|
cur.execute(f"INSERT OR REPLACE INTO {table} (phone, platform_name, token, status) VALUES (?, ?, ?, ?)", (phone, platform_name, token_value, status)) |
||||
|
conn.commit() |
||||
|
return True |
||||
|
except Exception as e: |
||||
|
raise |
||||
|
finally: |
||||
|
cur.close() |
||||
|
conn.close() |
||||
|
|
||||
|
|
||||
|
def bulk_upsert_tokens(db_path: str, table: str, rows: List[Dict[str, str]]) -> int: |
||||
|
""" |
||||
|
批量插入/更新 tokens。rows 是 dict 列表,每项包含 keys: phone, platform_name, token, status (可选) |
||||
|
返回成功处理的行数。 |
||||
|
示例 rows: |
||||
|
[{"phone":"138...", "platform_name":"kimi", "token":"xxx"}, {...}, ...] |
||||
|
""" |
||||
|
if not rows: |
||||
|
return 0 |
||||
|
conn = sqlite3.connect(db_path, timeout=10) |
||||
|
cur = conn.cursor() |
||||
|
processed = 0 |
||||
|
try: |
||||
|
# 使用事务加速批量写入 |
||||
|
cur.execute("BEGIN") |
||||
|
for r in rows: |
||||
|
phone = r.get("phone") |
||||
|
platform_name = r["platform_name"] |
||||
|
token_value = r["token"] |
||||
|
status = r.get("status", "active") |
||||
|
# 尝试按 phone+platform 更新 |
||||
|
if phone is not None: |
||||
|
cur.execute(f"SELECT id FROM {table} WHERE phone = ? AND platform_name = ?", (phone, platform_name)) |
||||
|
row = cur.fetchone() |
||||
|
if row: |
||||
|
cur.execute(f"UPDATE {table} SET token = ?, status = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?", (token_value, status, row[0])) |
||||
|
processed += 1 |
||||
|
continue |
||||
|
else: |
||||
|
cur.execute(f"SELECT id FROM {table} WHERE platform_name = ? ORDER BY created_at DESC LIMIT 1", (platform_name,)) |
||||
|
row = cur.fetchone() |
||||
|
if row: |
||||
|
cur.execute(f"UPDATE {table} SET token = ?, status = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?", (token_value, status, row[0])) |
||||
|
processed += 1 |
||||
|
continue |
||||
|
# 否则插入 |
||||
|
cur.execute(f"INSERT INTO {table} (phone, platform_name, token, status) VALUES (?, ?, ?, ?)", (phone, platform_name, token_value, status)) |
||||
|
processed += 1 |
||||
|
conn.commit() |
||||
|
return processed |
||||
|
except Exception as e: |
||||
|
conn.rollback() |
||||
|
raise |
||||
|
finally: |
||||
|
cur.close() |
||||
|
conn.close() |
||||
|
|
||||
|
def query_tokens(platform_name: str = None, status: str = None): |
||||
|
TABLE = "tokens" |
||||
|
conn = sqlite3.connect("./kimi_tokens.db") |
||||
|
cur = conn.cursor() |
||||
|
sql = f"SELECT id, phone, platform_name, token, status, created_at, updated_at FROM {TABLE} WHERE 1=1" |
||||
|
params = [] |
||||
|
if platform_name: |
||||
|
sql += " AND platform_name=?" |
||||
|
params.append(platform_name) |
||||
|
if status: |
||||
|
sql += " AND status=?" |
||||
|
params.append(status) |
||||
|
sql += " ORDER BY created_at ASC" |
||||
|
cur.execute(sql, params) |
||||
|
rows = cur.fetchall() |
||||
|
cur.close() |
||||
|
conn.close() |
||||
|
for row in rows: |
||||
|
print(row) |
||||
|
|
||||
|
# 示例 |
||||
|
# query_tokens(platform_name="kimi", status="active") |
||||
|
# ------------------------- |
||||
|
# 示例用法 |
||||
|
# ------------------------- |
||||
|
if __name__ == "__main__": |
||||
|
# 假设 ensure_tokens_table() 已经被调用过 |
||||
|
DB = "./kimi_tokens.db" |
||||
|
TABLE = "tokens" |
||||
|
|
||||
|
# 单条 upsert |
||||
|
ok = upsert_token(DB, TABLE, phone="16223053815", platform_name="mita", token_value="JSESSIONID=356E6FEEBF81933FAFE924ED6A7C324C; aliyungf_tc=70df8ace7303f22dccbacee689c1abc32b0a7629a28579fdfefad08c7d04f536; tid=cc159aeb-4f9b-463a-9080-2ebc2d88f0bc; __eventn_id_UMO2dYNwFz=065s1a391e; traceid=2dc94bfd49cc4992; sid=c764bb074d3b496fbeb4ad5eaa8835f0; uid=69255736dddbb6ba7df1905c", status="active") |
||||
|
print("upsert single:", ok) |
||||
|
query_tokens(platform_name="mita", status="active") |
||||
|
# # 批量 upsert |
||||
|
# rows = [ |
||||
|
# {"phone": "13800138000", "platform_name": "kimi", "token": "token_a"}, |
||||
|
# {"phone": "13800138001", "platform_name": "kimi", "token": "token_b"}, |
||||
|
# {"phone": None, "platform_name": "other", "token": "token_c"}, |
||||
|
# ] |
||||
|
# n = bulk_upsert_tokens(DB, TABLE, rows) |
||||
|
# print("bulk processed:", n) |
||||
@ -0,0 +1,110 @@ |
|||||
|
# coding=utf-8 |
||||
|
import hashlib |
||||
|
import re |
||||
|
import json |
||||
|
from typing import Any, Union |
||||
|
from datetime import datetime |
||||
|
|
||||
|
|
||||
|
def parse_nested_json( |
||||
|
json_str: str, |
||||
|
default: Any = None, |
||||
|
recursive: bool = True |
||||
|
) -> Union[dict, list, Any]: |
||||
|
""" |
||||
|
解析多层嵌套的JSON字符串 |
||||
|
|
||||
|
:param json_str: 要解析的JSON字符串 |
||||
|
:param default: 解析失败时返回的默认值 |
||||
|
:param recursive: 是否递归解析嵌套的JSON字符串 |
||||
|
:return: 解析后的Python对象 |
||||
|
""" |
||||
|
|
||||
|
def _parse(obj: Any) -> Any: |
||||
|
# 递归解析嵌套结构 |
||||
|
if isinstance(obj, dict): |
||||
|
return {k: _parse(v) for k, v in obj.items()} |
||||
|
elif isinstance(obj, list): |
||||
|
return [_parse(elem) for elem in obj] |
||||
|
elif recursive and isinstance(obj, str): |
||||
|
try: |
||||
|
parsed = json.loads(obj) |
||||
|
return _parse(parsed) # 递归解析新对象 |
||||
|
except json.JSONDecodeError: |
||||
|
return obj |
||||
|
else: |
||||
|
return obj |
||||
|
|
||||
|
# 处理空输入 |
||||
|
if not json_str: |
||||
|
return default if default is not None else {} |
||||
|
|
||||
|
try: |
||||
|
# 首次解析外层JSON |
||||
|
parsed = json.loads(json_str) |
||||
|
# 递归处理嵌套结构 |
||||
|
return _parse(parsed) |
||||
|
except (TypeError, json.JSONDecodeError) as e: |
||||
|
# 处理解码错误和类型错误 |
||||
|
return default if default is not None else {} |
||||
|
except Exception as e: |
||||
|
# 其他异常处理(可选记录日志) |
||||
|
return default if default is not None else {} |
||||
|
|
||||
|
|
||||
|
def convert_timestamp(timestamp): |
||||
|
""" |
||||
|
自动识别时间戳是秒级还是毫秒级,并转换为 datetime 对象。 |
||||
|
|
||||
|
参数: |
||||
|
timestamp -- 时间戳(整数或浮点数) |
||||
|
|
||||
|
返回: |
||||
|
datetime 对象 |
||||
|
""" |
||||
|
# 如果时间戳大于 1e10,认为是毫秒级时间戳 |
||||
|
if timestamp > 1e10: |
||||
|
timestamp /= 1000.0 # 转换为秒级时间戳 |
||||
|
return datetime.fromtimestamp(timestamp) |
||||
|
|
||||
|
def make_sha256_hash(file_path: str) -> str: |
||||
|
""" |
||||
|
计算文件的哈希值 |
||||
|
:param file_path: 文件路径 |
||||
|
:return: 哈希值的十六进制字符串 |
||||
|
""" |
||||
|
hash_obj = hashlib.new("sha256") |
||||
|
with open(file_path, "rb") as f: |
||||
|
while chunk := f.read(8192): # 分块读取避免大文件内存溢出 |
||||
|
hash_obj.update(chunk) |
||||
|
return hash_obj.hexdigest() |
||||
|
|
||||
|
|
||||
|
def css_to_dict(css_line): |
||||
|
""" |
||||
|
将单行CSS变量声明转换为Python字典 |
||||
|
|
||||
|
参数: |
||||
|
css_line (str): 包含CSS变量声明的字符串,例如: |
||||
|
'--ds-button-color: #fff; -button-text-color: #4c4c4c; button-border-color: rgba(0, 0, 0, 0.12);' |
||||
|
|
||||
|
返回: |
||||
|
dict: 包含CSS变量名和值的字典 |
||||
|
""" |
||||
|
# 使用正则表达式匹配所有变量声明 |
||||
|
# 匹配格式:可能带有1-2个横线的变量名,然后是冒号和值 |
||||
|
pattern = r'(-{0,2}[a-zA-Z0-9-]+)\s*:\s*([^;]+);?' |
||||
|
matches = re.findall(pattern, css_line) |
||||
|
|
||||
|
# 将匹配结果转换为字典 |
||||
|
result = {} |
||||
|
for match in matches: |
||||
|
var_name = match[0] # 保留原始横线数量 |
||||
|
var_value = match[1].strip() |
||||
|
result[var_name] = var_value |
||||
|
|
||||
|
return result |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
@ -0,0 +1,668 @@ |
|||||
|
2026-05-08 10:57:48.043 | INFO | __main__:run:252 - 文心一言爬虫启动... |
||||
|
2026-05-08 10:57:57.309 | INFO | __main__:start_task_msg:246 - 获取到任务: 苏打水备孕哪个品牌好 - 455d7a947ffc0b92cea1b345242ca436 |
||||
|
2026-05-08 10:58:04.254 | INFO | __main__:process_task:210 - 开始处理任务: 苏打水备孕哪个品牌好 - 455d7a947ffc0b92cea1b345242ca436 |
||||
|
2026-05-08 10:58:08.188 | INFO | __main__:chat:153 - 开始处理任务: 苏打水备孕哪个品牌好 - 455d7a947ffc0b92cea1b345242ca436 |
||||
|
2026-05-08 11:02:02.151 | INFO | __main__:process_task:226 - 任务 455d7a947ffc0b92cea1b345242ca436 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0587daf97240b3378b0134da1a52', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '455d7a947ffc0b92cea1b345242ca436', 'topic_id': '019a52b505e9731f83c97a267f0783bd', 'platform_id': '6', 'project_id': '019a52b4acb572a88323fafd489e28e0', 'keyword_id': '019a52e3ae0672cabb3fc47c57f969ed', 'keyword': '苏打水备孕哪个品牌好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0587dafa7044836b47ea1672e131', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03c1ab947257b95a44e677029421'}} |
||||
|
2026-05-08 11:02:05.911 | INFO | __main__:start_task_msg:246 - 获取到任务: 热玛吉哪个机构效果好 - 43961bf234a4e032667b7a40c3d2e758 |
||||
|
2026-05-08 11:02:05.912 | INFO | __main__:process_task:210 - 开始处理任务: 热玛吉哪个机构效果好 - 43961bf234a4e032667b7a40c3d2e758 |
||||
|
2026-05-08 11:02:05.914 | INFO | __main__:chat:153 - 开始处理任务: 热玛吉哪个机构效果好 - 43961bf234a4e032667b7a40c3d2e758 |
||||
|
2026-05-08 11:02:29.884 | INFO | __main__:run:252 - 文心一言爬虫启动... |
||||
|
2026-05-08 11:02:30.325 | INFO | __main__:start_task_msg:246 - 获取到任务: 王德传怎么样 - 437364022c513bab407f2e8553e724d7 |
||||
|
2026-05-08 11:02:30.325 | INFO | __main__:process_task:210 - 开始处理任务: 王德传怎么样 - 437364022c513bab407f2e8553e724d7 |
||||
|
2026-05-08 11:02:30.325 | INFO | __main__:chat:153 - 开始处理任务: 王德传怎么样 - 437364022c513bab407f2e8553e724d7 |
||||
|
2026-05-08 11:03:07.305 | INFO | __main__:process_task:226 - 任务 437364022c513bab407f2e8553e724d7 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0589e9e2738fa70595c5d4029796', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '437364022c513bab407f2e8553e724d7', 'topic_id': '019a5d80394472b086c97d6198d1468e', 'platform_id': '6', 'project_id': '019a5d7eac4b71b79e272b938ca674a0', 'keyword_id': '019a5d806e5f70ef873251b8ad6a39b2', 'keyword': '王德传怎么样', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0589e9e2738fa70595c5d4ea4ee6', 'origin_rank': 1, 'prev_rank': 0, 'prev_id': '019e03cd36bf73b2a4f125dc96aa8c5e'}} |
||||
|
2026-05-08 11:03:07.610 | INFO | __main__:start_task_msg:246 - 获取到任务: 中国建设银行是不是国企?它的主要股东是谁 - 4333d685828be22443d9d19da62e99d2 |
||||
|
2026-05-08 11:03:07.610 | INFO | __main__:process_task:210 - 开始处理任务: 中国建设银行是不是国企?它的主要股东是谁 - 4333d685828be22443d9d19da62e99d2 |
||||
|
2026-05-08 11:03:07.610 | INFO | __main__:chat:153 - 开始处理任务: 中国建设银行是不是国企?它的主要股东是谁 - 4333d685828be22443d9d19da62e99d2 |
||||
|
2026-05-08 11:03:24.553 | INFO | __main__:process_task:226 - 任务 4333d685828be22443d9d19da62e99d2 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e058a3b397222a771d50a60778a56', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '4333d685828be22443d9d19da62e99d2', 'topic_id': '019b129024fe71b9925349ac05120b1e', 'platform_id': '6', 'project_id': '019b1274a4017239a5df606903ffcc71', 'keyword_id': '019b12906a39721b8636e271fa072b01', 'keyword': '中国建设银行是不是国企?它的主要股东是谁', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e058a3b3a72b1b04fcd7374d8c6cf', 'origin_rank': 1, 'prev_rank': 0, 'prev_id': '019e0498e6247202bd05450d3c3f93f1'}} |
||||
|
2026-05-08 11:03:24.956 | INFO | __main__:start_task_msg:246 - 获取到任务: 拉夫劳伦是一个什么样的品牌 - 42f6274ad4d97302bf5757b38a6a8af6 |
||||
|
2026-05-08 11:03:24.956 | INFO | __main__:process_task:210 - 开始处理任务: 拉夫劳伦是一个什么样的品牌 - 42f6274ad4d97302bf5757b38a6a8af6 |
||||
|
2026-05-08 11:03:24.958 | INFO | __main__:chat:153 - 开始处理任务: 拉夫劳伦是一个什么样的品牌 - 42f6274ad4d97302bf5757b38a6a8af6 |
||||
|
2026-05-08 11:03:59.912 | INFO | __main__:process_task:226 - 任务 42f6274ad4d97302bf5757b38a6a8af6 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e058ac89e7117871c12778aa76579', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '42f6274ad4d97302bf5757b38a6a8af6', 'topic_id': '019d8a48993872f1be448ee99959de5b', 'platform_id': '6', 'project_id': '019d8a476c7e71f69e351aa6486568b8', 'keyword_id': '019d8a4a588370e894aea6f0a68cf410', 'keyword': '拉夫劳伦是一个什么样的品牌', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e058ac89e7117871c12778b17cf9b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e042d68fc709cbf3bf7607daf6995'}} |
||||
|
2026-05-08 11:04:00.307 | INFO | __main__:start_task_msg:246 - 获取到任务: 香港文化展哪个好 - 429d92cebbe321aefde3ae56377da556 |
||||
|
2026-05-08 11:04:00.307 | INFO | __main__:process_task:210 - 开始处理任务: 香港文化展哪个好 - 429d92cebbe321aefde3ae56377da556 |
||||
|
2026-05-08 11:04:00.308 | INFO | __main__:chat:153 - 开始处理任务: 香港文化展哪个好 - 429d92cebbe321aefde3ae56377da556 |
||||
|
2026-05-08 11:04:47.977 | INFO | __main__:process_task:226 - 任务 429d92cebbe321aefde3ae56377da556 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e058b84517311bb0420fcc778fc59', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '429d92cebbe321aefde3ae56377da556', 'topic_id': '019dfc3210db7281b471e455fd90ef17', 'platform_id': '6', 'project_id': '019dfc1ffe5e7024a2cadeed299f91a3', 'keyword_id': '019dfc32dc1c70fdb623d40606486766', 'keyword': '香港文化展哪个好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e058b84527395943f3c1ce7767b85', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dfebcfe40733aa1a1c8864995f718'}} |
||||
|
2026-05-08 11:04:48.435 | INFO | __main__:start_task_msg:246 - 获取到任务: 订婚钻戒品牌推荐 - 4285b1ed03f314c061f773a53ecf9ca4 |
||||
|
2026-05-08 11:04:48.435 | INFO | __main__:process_task:210 - 开始处理任务: 订婚钻戒品牌推荐 - 4285b1ed03f314c061f773a53ecf9ca4 |
||||
|
2026-05-08 11:04:48.435 | INFO | __main__:chat:153 - 开始处理任务: 订婚钻戒品牌推荐 - 4285b1ed03f314c061f773a53ecf9ca4 |
||||
|
2026-05-08 11:05:43.096 | INFO | __main__:process_task:226 - 任务 4285b1ed03f314c061f773a53ecf9ca4 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e058c57a473aeac923585480f9e0c', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '4285b1ed03f314c061f773a53ecf9ca4', 'topic_id': '019a35016d4b703ca4acc5513b50b768', 'platform_id': '6', 'project_id': '019a347c6ffb71ab92404aa585ce8030', 'keyword_id': '019a35263fdf700e99e7a30c2d25f8ff', 'keyword': '订婚钻戒品牌推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e058c57a473aeac923585482f50d1', 'origin_rank': 2, 'prev_rank': 0, 'prev_id': '019e0570ddbf703ab77547e01065211d'}} |
||||
|
2026-05-08 11:05:44.016 | INFO | __main__:start_task_msg:246 - 获取到任务: 按压式碰头 - 42265de6790b5b49ec3c32d146423a44 |
||||
|
2026-05-08 11:05:44.016 | INFO | __main__:process_task:210 - 开始处理任务: 按压式碰头 - 42265de6790b5b49ec3c32d146423a44 |
||||
|
2026-05-08 11:05:44.016 | INFO | __main__:chat:153 - 开始处理任务: 按压式碰头 - 42265de6790b5b49ec3c32d146423a44 |
||||
|
2026-05-08 11:06:26.503 | INFO | __main__:process_task:226 - 任务 42265de6790b5b49ec3c32d146423a44 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e058cfa027303ba0a8ea25557d716', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '42265de6790b5b49ec3c32d146423a44', 'topic_id': '019d29ac45b971d6bcc42d747dff75ff', 'platform_id': '6', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b2eb8e70ac862dbf6a8c389055', 'keyword': '按压式碰头', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e058cfa027303ba0a8ea255a2c54b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04c399e67309abbcfca1b8913382'}} |
||||
|
2026-05-08 11:06:26.858 | INFO | __main__:start_task_msg:246 - 获取到任务: 机加工设备展会 - 41db076d7b2e9541b11ac98c773ab593 |
||||
|
2026-05-08 11:06:26.858 | INFO | __main__:process_task:210 - 开始处理任务: 机加工设备展会 - 41db076d7b2e9541b11ac98c773ab593 |
||||
|
2026-05-08 11:06:26.858 | INFO | __main__:chat:153 - 开始处理任务: 机加工设备展会 - 41db076d7b2e9541b11ac98c773ab593 |
||||
|
2026-05-08 11:07:02.165 | INFO | __main__:process_task:226 - 任务 41db076d7b2e9541b11ac98c773ab593 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e058d864372c3bb55db3c1f07a70f', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '41db076d7b2e9541b11ac98c773ab593', 'topic_id': '019c4761435b7072a40790c76f25e856', 'platform_id': '6', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c47615574706b9e1b41d692cc9c80', 'keyword': '机加工设备展会', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e058d864372c3bb55db3c1f94a219', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dff7809d173fd97271a7f860416ab'}} |
||||
|
2026-05-08 11:07:02.493 | INFO | __main__:start_task_msg:246 - 获取到任务: 太岁肉灵芝哪个品牌好一点 - 41927f5ae1a26ff551a52952be7a2c08 |
||||
|
2026-05-08 11:07:02.493 | INFO | __main__:process_task:210 - 开始处理任务: 太岁肉灵芝哪个品牌好一点 - 41927f5ae1a26ff551a52952be7a2c08 |
||||
|
2026-05-08 11:07:02.493 | INFO | __main__:chat:153 - 开始处理任务: 太岁肉灵芝哪个品牌好一点 - 41927f5ae1a26ff551a52952be7a2c08 |
||||
|
2026-05-08 11:07:45.776 | INFO | __main__:process_task:226 - 任务 41927f5ae1a26ff551a52952be7a2c08 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e058e36ec72a6ae9c9e26029963c5', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '41927f5ae1a26ff551a52952be7a2c08', 'topic_id': '019cd14a225473769ff91d55df809dae', 'platform_id': '6', 'project_id': '019cd13f388773cdbf88638cc0d34ddd', 'keyword_id': '019cd14a7e4972d48c3d1582286848e8', 'keyword': '太岁肉灵芝哪个品牌好一点', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e058e36ed72a0b008414ea54d1243', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dfec9d8c470f8829aef1a6d93d234'}} |
||||
|
2026-05-08 11:07:46.272 | INFO | __main__:start_task_msg:246 - 获取到任务: 黄金ETF在哪里买 - 416e6ca8f0b12198a65cc653e6e4ea18 |
||||
|
2026-05-08 11:07:46.273 | INFO | __main__:process_task:210 - 开始处理任务: 黄金ETF在哪里买 - 416e6ca8f0b12198a65cc653e6e4ea18 |
||||
|
2026-05-08 11:07:46.273 | INFO | __main__:chat:153 - 开始处理任务: 黄金ETF在哪里买 - 416e6ca8f0b12198a65cc653e6e4ea18 |
||||
|
2026-05-08 11:08:40.132 | INFO | __main__:process_task:226 - 任务 416e6ca8f0b12198a65cc653e6e4ea18 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e058f086a70aea31a1bc99a19f9de', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '416e6ca8f0b12198a65cc653e6e4ea18', 'topic_id': '019b97bb2205714ca1c69858d42a6423', 'platform_id': '6', 'project_id': '019b97b0da35706a9f5aba211a201226', 'keyword_id': '019b97bb397e71879a0452043ed5dfc8', 'keyword': '黄金ETF在哪里买', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e058f086a70aea31a1bc99acab1ea', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dfe2adad17076a9891e8897d697f9'}} |
||||
|
2026-05-08 11:08:40.352 | INFO | __main__:start_task_msg:246 - 获取到任务: 抗衰机构推荐 - 411378bf9dd2d8ea057a2045e44744f9 |
||||
|
2026-05-08 11:08:40.353 | INFO | __main__:process_task:210 - 开始处理任务: 抗衰机构推荐 - 411378bf9dd2d8ea057a2045e44744f9 |
||||
|
2026-05-08 11:08:40.353 | INFO | __main__:chat:153 - 开始处理任务: 抗衰机构推荐 - 411378bf9dd2d8ea057a2045e44744f9 |
||||
|
2026-05-08 11:09:36.673 | INFO | __main__:process_task:226 - 任务 411378bf9dd2d8ea057a2045e44744f9 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e058feeb3718f82797ce128715c56', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '411378bf9dd2d8ea057a2045e44744f9', 'topic_id': '019dfc18510371d9a2200ef6b565fe26', 'platform_id': '6', 'project_id': '019dc3e9d63173b79228bc3fd7e92a67', 'keyword_id': '019dfc1b29d07268972a1ca4cb426120', 'keyword': '抗衰机构推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e058feeb47220a7e979f3cebd59a4', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03f8186870c2a44442d263999829'}} |
||||
|
2026-05-08 11:09:37.035 | INFO | __main__:start_task_msg:246 - 获取到任务: 望石智慧靠谱吗 - 40ddd4faa339afeef8a06344b722fb29 |
||||
|
2026-05-08 11:09:37.035 | INFO | __main__:process_task:210 - 开始处理任务: 望石智慧靠谱吗 - 40ddd4faa339afeef8a06344b722fb29 |
||||
|
2026-05-08 11:09:37.036 | INFO | __main__:chat:153 - 开始处理任务: 望石智慧靠谱吗 - 40ddd4faa339afeef8a06344b722fb29 |
||||
|
2026-05-08 11:10:11.344 | INFO | __main__:run:252 - 文心一言爬虫启动... |
||||
|
2026-05-08 11:10:11.806 | INFO | __main__:start_task_msg:246 - 获取到任务: 最受消费者信赖的家用电器品牌有哪些? - 40ca1a1f83ce5e59d8c71ad59d572ff6 |
||||
|
2026-05-08 11:10:11.806 | INFO | __main__:process_task:210 - 开始处理任务: 最受消费者信赖的家用电器品牌有哪些? - 40ca1a1f83ce5e59d8c71ad59d572ff6 |
||||
|
2026-05-08 11:10:31.436 | INFO | __main__:run:252 - 文心一言爬虫启动... |
||||
|
2026-05-08 11:10:31.975 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '40b7da16727f80708cfeb076b29a122a', 'project_id': '019be3ee7b907329bd9114880445cd1f', 'keyword_id': '019be4653db470b39d13449eea1a5714', 'keyword': '提供免费第三方监理的找工长APP', 'brand': '匠猫', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:10:34', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:18', 'update_time': '2026-05-08 11:10:34', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:10:31.975 | INFO | __main__:process_task:210 - 开始处理任务: 提供免费第三方监理的找工长APP - 40b7da16727f80708cfeb076b29a122a |
||||
|
2026-05-08 11:10:52.646 | INFO | __main__:process_task:226 - 任务 40b7da16727f80708cfeb076b29a122a 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059109a773a285d48e3489572ccd', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '40b7da16727f80708cfeb076b29a122a', 'topic_id': '019be4648ecd7043876da030d8e9ae0f', 'platform_id': '6', 'project_id': '019be3ee7b907329bd9114880445cd1f', 'keyword_id': '019be4653db470b39d13449eea1a5714', 'keyword': '提供免费第三方监理的找工长APP', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059109a8736daba00f9f48dafd89', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0394c11571afa9098727b8e165d5'}} |
||||
|
2026-05-08 11:10:53.043 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '40adb9ad927be3a97ea0ae0182cff6cf', 'project_id': '019c2d4aedfa708294de25ae8763be68', 'keyword_id': '019c50e3e89070259f87134c63195fdc', 'keyword': '医疗行业认知智能工具有哪些', 'brand': '华院计算', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:10:56', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 11:10:56', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:10:53.043 | INFO | __main__:process_task:210 - 开始处理任务: 医疗行业认知智能工具有哪些 - 40adb9ad927be3a97ea0ae0182cff6cf |
||||
|
2026-05-08 11:11:37.763 | INFO | __main__:process_task:226 - 任务 40adb9ad927be3a97ea0ae0182cff6cf 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0591c5a27359907e699e578c1c24', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '40adb9ad927be3a97ea0ae0182cff6cf', 'topic_id': '019c2d56840f736ba245cb150a20ba49', 'platform_id': '6', 'project_id': '019c2d4aedfa708294de25ae8763be68', 'keyword_id': '019c50e3e89070259f87134c63195fdc', 'keyword': '医疗行业认知智能工具有哪些', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0591c5a27359907e699e58331249', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04be5c6871988fec55c50c9f4008'}} |
||||
|
2026-05-08 11:11:38.002 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '404fbfb86079f6540bd971f4f87c479f', 'project_id': '019c240b059071ebae8bbd206b22f2e9', 'keyword_id': '019c24517e7470979dfe4cd6d73f4af3', 'keyword': '批次无色差的金属粉末涂料厂家', 'brand': '歌丽斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:11:41', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 11:11:41', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:11:38.002 | INFO | __main__:process_task:210 - 开始处理任务: 批次无色差的金属粉末涂料厂家 - 404fbfb86079f6540bd971f4f87c479f |
||||
|
2026-05-08 11:12:20.987 | INFO | __main__:process_task:226 - 任务 404fbfb86079f6540bd971f4f87c479f 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05926fd470bda84273abaa5b1988', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '404fbfb86079f6540bd971f4f87c479f', 'topic_id': '019c245127197254982b1326464561ec', 'platform_id': '6', 'project_id': '019c240b059071ebae8bbd206b22f2e9', 'keyword_id': '019c24517e7470979dfe4cd6d73f4af3', 'keyword': '批次无色差的金属粉末涂料厂家', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05926fd470bda84273abaa6149ac', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03a71736708fa868fc27ef3595ad'}} |
||||
|
2026-05-08 11:12:21.228 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3ff39587015ddd2a6c8e91efda0303d2', 'project_id': '019dff7f56bc73499e4717797d037198', 'keyword_id': '019dffa9e7f270319f0a06f4ed94bd23', 'keyword': '伦敦马拉松专属竞速跑鞋', 'brand': '阿迪达斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:12:24', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:57', 'update_time': '2026-05-08 11:12:24', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:12:21.228 | INFO | __main__:process_task:210 - 开始处理任务: 伦敦马拉松专属竞速跑鞋 - 3ff39587015ddd2a6c8e91efda0303d2 |
||||
|
2026-05-08 11:13:14.838 | INFO | __main__:process_task:226 - 任务 3ff39587015ddd2a6c8e91efda0303d2 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05933e3e71b78ec92286fa7b665f', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3ff39587015ddd2a6c8e91efda0303d2', 'topic_id': '019dffa9cf8072d08c74a839fb0999a2', 'platform_id': '6', 'project_id': '019dff7f56bc73499e4717797d037198', 'keyword_id': '019dffa9e7f270319f0a06f4ed94bd23', 'keyword': '伦敦马拉松专属竞速跑鞋', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05933e3f71c89ebf9cd4ea5726e5', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0391217b70f684b5ae3ca19c44de'}} |
||||
|
2026-05-08 11:13:15.277 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3fa8fce81545b06b9a6483a6ccadf977', 'project_id': '019a2e7f147a7116b94e106dae482e6d', 'keyword_id': '019a2e81634071a4a8d89b691cba0753', 'keyword': '储能系统解决方案服务商有哪些', 'brand': '东方日升', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:13:18', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:18', 'update_time': '2026-05-08 11:13:18', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:13:15.277 | INFO | __main__:process_task:210 - 开始处理任务: 储能系统解决方案服务商有哪些 - 3fa8fce81545b06b9a6483a6ccadf977 |
||||
|
2026-05-08 11:14:12.024 | INFO | __main__:process_task:226 - 任务 3fa8fce81545b06b9a6483a6ccadf977 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059413a573a7a000dcd4f36bdda4', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3fa8fce81545b06b9a6483a6ccadf977', 'topic_id': '019a2e804a6f7249bf64333a7827d6e4', 'platform_id': '6', 'project_id': '019a2e7f147a7116b94e106dae482e6d', 'keyword_id': '019a2e81634071a4a8d89b691cba0753', 'keyword': '储能系统解决方案服务商有哪些', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059413a671e580619660795d89ff', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03a129c272cf8db702d3c6f93a82'}} |
||||
|
2026-05-08 11:14:12.388 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3f56b8145eefa630281ada3bc589eb21', 'project_id': '019d9046ed47703580214b5c2183307a', 'keyword_id': '019d904d336d7077867e0be26fb0b6f4', 'keyword': '小分子医药早研智能体哪家靠谱', 'brand': '望石智慧', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:14:15', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:27', 'update_time': '2026-05-08 11:14:15', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:14:12.388 | INFO | __main__:process_task:210 - 开始处理任务: 小分子医药早研智能体哪家靠谱 - 3f56b8145eefa630281ada3bc589eb21 |
||||
|
2026-05-08 11:14:48.436 | INFO | __main__:process_task:226 - 任务 3f56b8145eefa630281ada3bc589eb21 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0594a9e471609364951c89518d4c', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3f56b8145eefa630281ada3bc589eb21', 'topic_id': '019d904bc990732b9afb4680667c6878', 'platform_id': '6', 'project_id': '019d9046ed47703580214b5c2183307a', 'keyword_id': '019d904d336d7077867e0be26fb0b6f4', 'keyword': '小分子医药早研智能体哪家靠谱', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0594a9e471609364951c8980b859', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03cd748d71238dd58099b5e2e129'}} |
||||
|
2026-05-08 11:14:48.883 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3f3b4690625ed5d44b8b1f6dd9775c17', 'project_id': '019d9969714873ed8d57581a78b8eb99', 'keyword_id': '019db350f5eb72d192a781d9f5ae5729', 'keyword': '企业ESG和碳中和综合服务选哪家', 'brand': '联合赤道', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:14:51', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:32', 'update_time': '2026-05-08 11:14:51', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:14:48.883 | INFO | __main__:process_task:210 - 开始处理任务: 企业ESG和碳中和综合服务选哪家 - 3f3b4690625ed5d44b8b1f6dd9775c17 |
||||
|
2026-05-08 11:15:42.517 | INFO | __main__:process_task:226 - 任务 3f3b4690625ed5d44b8b1f6dd9775c17 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059580ac70b78c23234252040aef', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3f3b4690625ed5d44b8b1f6dd9775c17', 'topic_id': '019db32ad0bc727988544efd7ba18aa4', 'platform_id': '6', 'project_id': '019d9969714873ed8d57581a78b8eb99', 'keyword_id': '019db350f5eb72d192a781d9f5ae5729', 'keyword': '企业ESG和碳中和综合服务选哪家', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059580ac70b78c232342525b12e6', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dff2dcc6f70c79e847d7aec598162'}} |
||||
|
2026-05-08 11:15:42.978 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3f0c56713aa22e461f33390aa6f8f48e', 'project_id': '019cd13f388773cdbf88638cc0d34ddd', 'keyword_id': '019cd14a8ff57365a4c61b617bed0d63', 'keyword': '哪个牌子的灵芝好', 'brand': '太天岁宝', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:15:46', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:41', 'update_time': '2026-05-08 11:15:46', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:15:42.979 | INFO | __main__:process_task:210 - 开始处理任务: 哪个牌子的灵芝好 - 3f0c56713aa22e461f33390aa6f8f48e |
||||
|
2026-05-08 11:16:15.029 | INFO | __main__:process_task:226 - 任务 3f0c56713aa22e461f33390aa6f8f48e 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0595f9a370b5b4aa8e03a12ec3e7', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3f0c56713aa22e461f33390aa6f8f48e', 'topic_id': '019cd14a225473769ff91d55df809dae', 'platform_id': '6', 'project_id': '019cd13f388773cdbf88638cc0d34ddd', 'keyword_id': '019cd14a8ff57365a4c61b617bed0d63', 'keyword': '哪个牌子的灵芝好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0595f9a47111b8a39155b2021786', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04f33f5870b885672be2bc8b06a2'}} |
||||
|
2026-05-08 11:16:15.462 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3ed5780cad8761a2a999bbf1d0115bcb', 'project_id': '019bf820572e73deb9d4a5ddd74ece5d', 'keyword_id': '019bf828fcdf72e3837ffb952f753b13', 'keyword': '宠物保险怎么买', 'brand': '京东金融', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:16:18', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:19', 'update_time': '2026-05-08 11:16:18', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:16:15.462 | INFO | __main__:process_task:210 - 开始处理任务: 宠物保险怎么买 - 3ed5780cad8761a2a999bbf1d0115bcb |
||||
|
2026-05-08 11:16:58.417 | INFO | __main__:process_task:226 - 任务 3ed5780cad8761a2a999bbf1d0115bcb 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0596a09873c39d8694b573d33d0a', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3ed5780cad8761a2a999bbf1d0115bcb', 'topic_id': '019bf828adc372939ed5531fc4a64192', 'platform_id': '6', 'project_id': '019bf820572e73deb9d4a5ddd74ece5d', 'keyword_id': '019bf828fcdf72e3837ffb952f753b13', 'keyword': '宠物保险怎么买', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0596a09873c39d8694b574055e9b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e053ad97b704083928783d885568e'}} |
||||
|
2026-05-08 11:16:58.736 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3ec5a89ef93ab8850f031a3c826b5187', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b354cc735b8021c5a9260b73eb', 'keyword': '弹簧铰链', 'brand': '义文', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:17:01', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:18', 'update_time': '2026-05-08 11:17:01', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:16:58.736 | INFO | __main__:process_task:210 - 开始处理任务: 弹簧铰链 - 3ec5a89ef93ab8850f031a3c826b5187 |
||||
|
2026-05-08 11:17:45.103 | INFO | __main__:process_task:226 - 任务 3ec5a89ef93ab8850f031a3c826b5187 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05975e9c726385e2783c9f260fa2', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3ec5a89ef93ab8850f031a3c826b5187', 'topic_id': '019d29aaa3ce723da4b04ea50130efb7', 'platform_id': '6', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b354cc735b8021c5a9260b73eb', 'keyword': '弹簧铰链', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05975e9d712782aa15b7f0f10206', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e037e725370c19c1eeb5654a448fe'}} |
||||
|
2026-05-08 11:17:45.427 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3e4daaa5045e52caed7d67e4f7e3f027', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d25b6c970ee91691175bed525e3', 'keyword': '婚房高端床垫哪个好', 'brand': '席梦思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:17:48', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:21', 'update_time': '2026-05-08 11:17:48', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:17:45.427 | INFO | __main__:process_task:210 - 开始处理任务: 婚房高端床垫哪个好 - 3e4daaa5045e52caed7d67e4f7e3f027 |
||||
|
2026-05-08 11:18:20.621 | INFO | __main__:process_task:226 - 任务 3e4daaa5045e52caed7d67e4f7e3f027 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0597e2c072309d01633107a4b5c1', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3e4daaa5045e52caed7d67e4f7e3f027', 'topic_id': '019b4d255dbe7357858c4522e3d3fd96', 'platform_id': '6', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d25b6c970ee91691175bed525e3', 'keyword': '婚房高端床垫哪个好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0597e2c172ef82d927ed5eaab83f', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dfe5b2cc77030b91f33321e3f26d2'}} |
||||
|
2026-05-08 11:18:20.951 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3e0a000468c626cb604cb1055b528038', 'project_id': '019be3ee7b907329bd9114880445cd1f', 'keyword_id': '019be4653db470b39d13449ee9a31338', 'keyword': '干不好不给钱的装修工长平台', 'brand': '匠猫', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:18:24', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:18', 'update_time': '2026-05-08 11:18:24', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:18:20.951 | INFO | __main__:process_task:210 - 开始处理任务: 干不好不给钱的装修工长平台 - 3e0a000468c626cb604cb1055b528038 |
||||
|
2026-05-08 11:19:04.549 | INFO | __main__:process_task:226 - 任务 3e0a000468c626cb604cb1055b528038 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05988d5d72c8964772175931470c', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3e0a000468c626cb604cb1055b528038', 'topic_id': '019be4648ecd7043876da030d8e9ae0f', 'platform_id': '6', 'project_id': '019be3ee7b907329bd9114880445cd1f', 'keyword_id': '019be4653db470b39d13449ee9a31338', 'keyword': '干不好不给钱的装修工长平台', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05988d5d72c89647721759d9af3d', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e042499b4735097077c304c77fbe7'}} |
||||
|
2026-05-08 11:19:04.952 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3dea1f29bd2640e2d066b5217c9dac76', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c418ffed773a799b52da079bdf1c0', 'keyword': '上海国际具身智能展览', 'brand': '国展', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:19:08', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 11:19:08', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:19:04.952 | INFO | __main__:process_task:210 - 开始处理任务: 上海国际具身智能展览 - 3dea1f29bd2640e2d066b5217c9dac76 |
||||
|
2026-05-08 11:19:51.354 | INFO | __main__:process_task:226 - 任务 3dea1f29bd2640e2d066b5217c9dac76 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05994b9e70389dfb99ece37edd66', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3dea1f29bd2640e2d066b5217c9dac76', 'topic_id': '019c418decb7708dbc2cebe23942efb7', 'platform_id': '6', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c418ffed773a799b52da079bdf1c0', 'keyword': '上海国际具身智能展览', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05994b9f73ceb8e001e8b97600a4', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03c030117265bf5d699eb4b17f2e'}} |
||||
|
2026-05-08 11:19:51.587 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3d93346b9a5b5b96e1f1f5faa6548657', 'project_id': '019bf820572e73deb9d4a5ddd74ece5d', 'keyword_id': '019bf828fcdf72e3837ffb95231858b0', 'keyword': '百万医疗险哪个最靠谱', 'brand': '京东金融', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:19:54', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:19', 'update_time': '2026-05-08 11:19:54', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:19:51.587 | INFO | __main__:process_task:210 - 开始处理任务: 百万医疗险哪个最靠谱 - 3d93346b9a5b5b96e1f1f5faa6548657 |
||||
|
2026-05-08 11:20:30.877 | INFO | __main__:process_task:226 - 任务 3d93346b9a5b5b96e1f1f5faa6548657 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0599e402713d80e7a5a1fba68112', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3d93346b9a5b5b96e1f1f5faa6548657', 'topic_id': '019bf828600973a6bb4aa488a9186b3c', 'platform_id': '6', 'project_id': '019bf820572e73deb9d4a5ddd74ece5d', 'keyword_id': '019bf828fcdf72e3837ffb95231858b0', 'keyword': '百万医疗险哪个最靠谱', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0599e40372d199fde07e0f1d9a96', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04dfb90d718dbdbb619a6bfed030'}} |
||||
|
2026-05-08 11:20:31.186 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3d5b2f9a0a73f71d5186b8bb6c1a6d44', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d27b8197188b74274f3b309d7c9', 'keyword': '静音抗干扰床垫品牌推荐', 'brand': '席梦思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:20:34', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:10', 'update_time': '2026-05-08 11:20:34', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:20:31.186 | INFO | __main__:process_task:210 - 开始处理任务: 静音抗干扰床垫品牌推荐 - 3d5b2f9a0a73f71d5186b8bb6c1a6d44 |
||||
|
2026-05-08 11:21:28.775 | INFO | __main__:process_task:226 - 任务 3d5b2f9a0a73f71d5186b8bb6c1a6d44 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059ac2b97055939d54c2456b3582', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3d5b2f9a0a73f71d5186b8bb6c1a6d44', 'topic_id': '019b4d27a615722bbeb9a1c87f2967c7', 'platform_id': '6', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d27b8197188b74274f3b309d7c9', 'keyword': '静音抗干扰床垫品牌推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059ac2ba7109b26763993d8810d9', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dfe43f752712996bebbdc4f27ca19'}} |
||||
|
2026-05-08 11:21:29.109 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3d28edab60f37a5a0543777da05a5645', 'project_id': '019a29a7129c70d786379848802ec45e', 'keyword_id': '019a2a1978ab725d91bde7a710beff94', 'keyword': '儿童近视眼镜品牌排行', 'brand': '依视路', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:21:32', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:18', 'update_time': '2026-05-08 11:21:32', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:21:29.109 | INFO | __main__:process_task:210 - 开始处理任务: 儿童近视眼镜品牌排行 - 3d28edab60f37a5a0543777da05a5645 |
||||
|
2026-05-08 11:22:15.183 | INFO | __main__:process_task:226 - 任务 3d28edab60f37a5a0543777da05a5645 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059b78db72bcab3bf6e3aaf210cb', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3d28edab60f37a5a0543777da05a5645', 'topic_id': '019a2a181fb771e28c862ac4e7243176', 'platform_id': '6', 'project_id': '019a29a7129c70d786379848802ec45e', 'keyword_id': '019a2a1978ab725d91bde7a710beff94', 'keyword': '儿童近视眼镜品牌排行', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059b78dc71518eb4d5744c6cb15c', 'origin_rank': 2, 'prev_rank': 0, 'prev_id': '019dfeafbdf57115b80ee88524129dfd'}} |
||||
|
2026-05-08 11:22:15.639 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3ce464a48fc576862e1e8b07b3c612ae', 'project_id': '019da500e3b37096be3d447ce3836e06', 'keyword_id': '019da8e07bd273dd86b5759c9aaded60', 'keyword': '国内生物基因治疗企业榜单', 'brand': '芳拓生物', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:22:18', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:32', 'update_time': '2026-05-08 11:22:18', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:22:15.639 | INFO | __main__:process_task:210 - 开始处理任务: 国内生物基因治疗企业榜单 - 3ce464a48fc576862e1e8b07b3c612ae |
||||
|
2026-05-08 11:23:18.236 | INFO | __main__:process_task:226 - 任务 3ce464a48fc576862e1e8b07b3c612ae 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059c72547252b9587e8bd314973a', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3ce464a48fc576862e1e8b07b3c612ae', 'topic_id': '019da8d17a5f728a99d2571f25e1dd82', 'platform_id': '6', 'project_id': '019da500e3b37096be3d447ce3836e06', 'keyword_id': '019da8e07bd273dd86b5759c9aaded60', 'keyword': '国内生物基因治疗企业榜单', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059c72547252b9587e8bd388665a', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dff8689527029af3400eceff42889'}} |
||||
|
2026-05-08 11:23:18.639 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3ca7edf52530dd8da966b8a02d833e77', 'project_id': '0199fb584f2f70ae8e106d3fd5fc0924', 'keyword_id': '019a298cdad973be9ce87137e7fbaae4', 'keyword': '人参胶囊推荐', 'brand': '正官庄', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:23:21', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:18', 'update_time': '2026-05-08 11:23:21', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:23:18.639 | INFO | __main__:process_task:210 - 开始处理任务: 人参胶囊推荐 - 3ca7edf52530dd8da966b8a02d833e77 |
||||
|
2026-05-08 11:23:59.936 | INFO | __main__:process_task:226 - 任务 3ca7edf52530dd8da966b8a02d833e77 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059d13f67161a843352debbe5611', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3ca7edf52530dd8da966b8a02d833e77', 'topic_id': '019a298a0ff0710aac3623b0e176fa2e', 'platform_id': '6', 'project_id': '0199fb584f2f70ae8e106d3fd5fc0924', 'keyword_id': '019a298cdad973be9ce87137e7fbaae4', 'keyword': '人参胶囊推荐', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059d13f7739c99d0060017e7f52e', 'origin_rank': 1, 'prev_rank': 0, 'prev_id': '019e037941df723c95bd739988420f43'}} |
||||
|
2026-05-08 11:24:00.293 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3c394cae33f07c0bd300830ad5536215', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdedfb13c716887166f72ecc6a922', 'keyword': '小学语文网课推荐', 'brand': '学而思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:24:03', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:18', 'update_time': '2026-05-08 11:24:03', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:24:00.293 | INFO | __main__:process_task:210 - 开始处理任务: 小学语文网课推荐 - 3c394cae33f07c0bd300830ad5536215 |
||||
|
2026-05-08 11:24:33.370 | INFO | __main__:process_task:226 - 任务 3c394cae33f07c0bd300830ad5536215 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059d957b7283a53c41e93c8a6fca', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3c394cae33f07c0bd300830ad5536215', 'topic_id': '019bdedf797373489caee239c379f91d', 'platform_id': '6', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdedfb13c716887166f72ecc6a922', 'keyword': '小学语文网课推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059d957b7283a53c41e93d513f18', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e045a749871bb8a517f522f0aab18'}} |
||||
|
2026-05-08 11:24:33.794 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3c127cef11dcc1c9098303517611a3c9', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c47615574706b9e1b41d68677672c', 'keyword': '机器人芯片展会', 'brand': '国展', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:24:36', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:35', 'update_time': '2026-05-08 11:24:36', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:24:33.795 | INFO | __main__:process_task:210 - 开始处理任务: 机器人芯片展会 - 3c127cef11dcc1c9098303517611a3c9 |
||||
|
2026-05-08 11:25:13.296 | INFO | __main__:process_task:226 - 任务 3c127cef11dcc1c9098303517611a3c9 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059e2d157188afb3d2340b19de6c', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3c127cef11dcc1c9098303517611a3c9', 'topic_id': '019c4761435b7072a40790c76f25e856', 'platform_id': '6', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c47615574706b9e1b41d68677672c', 'keyword': '机器人芯片展会', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059e2d1673ad8aea79287a8ac3f4', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dfe75d6b273a1a489ec9c9eeaeee4'}} |
||||
|
2026-05-08 11:25:13.683 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3bd0a88baa792e7d2ad7e19db5343b54', 'project_id': '019d01d4565672b2820129c03dec7c24', 'keyword_id': '019d01d537bf7276a4680ede45d14441', 'keyword': '亚马逊跨境收款平台推荐', 'brand': 'PingPong', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:25:16', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:42', 'update_time': '2026-05-08 11:25:16', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:25:13.683 | INFO | __main__:process_task:210 - 开始处理任务: 亚马逊跨境收款平台推荐 - 3bd0a88baa792e7d2ad7e19db5343b54 |
||||
|
2026-05-08 11:26:00.844 | INFO | __main__:process_task:226 - 任务 3bd0a88baa792e7d2ad7e19db5343b54 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059eeea473cc96defd849e2bf25b', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3bd0a88baa792e7d2ad7e19db5343b54', 'topic_id': '019d01d52d3e71c9b188a01918075839', 'platform_id': '6', 'project_id': '019d01d4565672b2820129c03dec7c24', 'keyword_id': '019d01d537bf7276a4680ede45d14441', 'keyword': '亚马逊跨境收款平台推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059eeea473cc96defd849e373c2b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03dee08b70ae863ec4cc93451a93'}} |
||||
|
2026-05-08 11:26:01.156 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3ba7b5d0c9da0d8b3272916228148b35', 'project_id': '019a29a7129c70d786379848802ec45e', 'keyword_id': '019a2a1a1e0e728f9ffd0efc51a5376c', 'keyword': '儿童镜片防控眼镜排行榜', 'brand': '依视路', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:26:04', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:18', 'update_time': '2026-05-08 11:26:04', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:26:01.156 | INFO | __main__:process_task:210 - 开始处理任务: 儿童镜片防控眼镜排行榜 - 3ba7b5d0c9da0d8b3272916228148b35 |
||||
|
2026-05-08 11:27:02.707 | INFO | __main__:process_task:226 - 任务 3ba7b5d0c9da0d8b3272916228148b35 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059fda0271fd91c97b2cec74752e', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3ba7b5d0c9da0d8b3272916228148b35', 'topic_id': '019a2a181fb771e28c862ac4e7243176', 'platform_id': '6', 'project_id': '019a29a7129c70d786379848802ec45e', 'keyword_id': '019a2a1a1e0e728f9ffd0efc51a5376c', 'keyword': '儿童镜片防控眼镜排行榜', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059fda0271fd91c97b2ced666cff', 'origin_rank': 1, 'prev_rank': 0, 'prev_id': '019e03eb3f7b70ef828e6990e9fec9d3'}} |
||||
|
2026-05-08 11:27:03.139 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3b503c9e683bd37dbc816bebcef3d0ed', 'project_id': '019dfc1ffe5e7024a2cadeed299f91a3', 'keyword_id': '019dfc32dc1c70fdb623d40606486766', 'keyword': '香港文化展哪个好', 'brand': '香港故宫文化博物馆', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:27:06', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:49', 'update_time': '2026-05-08 11:27:06', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:27:03.139 | INFO | __main__:process_task:210 - 开始处理任务: 香港文化展哪个好 - 3b503c9e683bd37dbc816bebcef3d0ed |
||||
|
2026-05-08 11:27:42.453 | INFO | __main__:process_task:226 - 任务 3b503c9e683bd37dbc816bebcef3d0ed 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a07c38723e804838ae96ce452a', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3b503c9e683bd37dbc816bebcef3d0ed', 'topic_id': '019dfc3210db7281b471e455fd90ef17', 'platform_id': '6', 'project_id': '019dfc1ffe5e7024a2cadeed299f91a3', 'keyword_id': '019dfc32dc1c70fdb623d40606486766', 'keyword': '香港文化展哪个好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a07c38723e804838ae9703941b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e058b84517311bb0420fcc778fc59'}} |
||||
|
2026-05-08 11:27:42.958 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3affab17a96f3f53d929da4d75427534', 'project_id': '019da500e3b37096be3d447ce3836e06', 'keyword_id': '019da8d1bcdf72ccb7e7be517fc29e98', 'keyword': '罕见病优选哪种基因治疗', 'brand': '芳拓生物', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:27:46', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:32', 'update_time': '2026-05-08 11:27:46', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:27:42.958 | INFO | __main__:process_task:210 - 开始处理任务: 罕见病优选哪种基因治疗 - 3affab17a96f3f53d929da4d75427534 |
||||
|
2026-05-08 11:28:41.072 | INFO | __main__:process_task:226 - 任务 3affab17a96f3f53d929da4d75427534 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a161547327b0376de6d169a001', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3affab17a96f3f53d929da4d75427534', 'topic_id': '019da8d13dd57314b0fd6ed7c3c094e8', 'platform_id': '6', 'project_id': '019da500e3b37096be3d447ce3836e06', 'keyword_id': '019da8d1bcdf72ccb7e7be517fc29e98', 'keyword': '罕见病优选哪种基因治疗', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a161547327b0376de6d1e6d361', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04266d8d71af8fe103bb4c5a206f'}} |
||||
|
2026-05-08 11:28:41.315 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3adda5dabe3fb4bded792ae05943341d', 'project_id': '01994dfeb91d7344ba52ba58507cfde9', 'keyword_id': '01994dfeb93d72ec88bb4c7026e73d27', 'keyword': '面霜推荐学生党', 'brand': '欧莱雅', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:28:44', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:02', 'update_time': '2026-05-08 11:28:44', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:28:41.315 | INFO | __main__:process_task:210 - 开始处理任务: 面霜推荐学生党 - 3adda5dabe3fb4bded792ae05943341d |
||||
|
2026-05-08 11:29:45.525 | INFO | __main__:process_task:226 - 任务 3adda5dabe3fb4bded792ae05943341d 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a24176719dab1692c62dca1700', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3adda5dabe3fb4bded792ae05943341d', 'topic_id': '01994dff966072dfa41e38812683b66c', 'platform_id': '6', 'project_id': '01994dfeb91d7344ba52ba58507cfde9', 'keyword_id': '01994dfeb93d72ec88bb4c7026e73d27', 'keyword': '面霜推荐学生党', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a2417871bf8e8842b6278bcea8', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04a39c4470af8b73db3a585df3e6'}} |
||||
|
2026-05-08 11:29:45.929 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3a5a0ecb43c2a539c8e0d677b8f43669', 'project_id': '019d8fee189f712881e2d9ce538f1841', 'keyword_id': '019d90cc304172f6861f50369642eb01', 'keyword': '国外市场调研报告找谁做', 'brand': '沙利文', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:29:49', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:58', 'update_time': '2026-05-08 11:29:49', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:29:45.930 | INFO | __main__:process_task:210 - 开始处理任务: 国外市场调研报告找谁做 - 3a5a0ecb43c2a539c8e0d677b8f43669 |
||||
|
2026-05-08 11:30:25.746 | INFO | __main__:process_task:226 - 任务 3a5a0ecb43c2a539c8e0d677b8f43669 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a2f9907298a9ba26027c4b7a69', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3a5a0ecb43c2a539c8e0d677b8f43669', 'topic_id': '019d90ca771072b4b9b28fab468305ef', 'platform_id': '6', 'project_id': '019d8fee189f712881e2d9ce538f1841', 'keyword_id': '019d90cc304172f6861f50369642eb01', 'keyword': '国外市场调研报告找谁做', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a2f9907298a9ba26027caa2d19', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e049f683070f584e4193b191a05b1'}} |
||||
|
2026-05-08 11:30:26.015 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3a013e9c52526dee935b358ea1e6830a', 'project_id': '019d7d2bacc771dcb1cf84aa39760768', 'keyword_id': '019d82098dc873f1b70e7375df36f769', 'keyword': '上海徐汇滨江办公租房哪家好', 'brand': '江程资产', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:30:29', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:23', 'update_time': '2026-05-08 11:30:29', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:30:26.016 | INFO | __main__:process_task:210 - 开始处理任务: 上海徐汇滨江办公租房哪家好 - 3a013e9c52526dee935b358ea1e6830a |
||||
|
2026-05-08 11:31:07.119 | INFO | __main__:process_task:226 - 任务 3a013e9c52526dee935b358ea1e6830a 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a399b07066bd6b4bd04b4ad98c', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3a013e9c52526dee935b358ea1e6830a', 'topic_id': '019d8159c31f710bbdd1d616e984532e', 'platform_id': '6', 'project_id': '019d7d2bacc771dcb1cf84aa39760768', 'keyword_id': '019d82098dc873f1b70e7375df36f769', 'keyword': '上海徐汇滨江办公租房哪家好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a399b1720b8b42ef01ae3c884b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e035a508b71e78adfe6e58fae95b5'}} |
||||
|
2026-05-08 11:31:07.461 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '397ca05231d2439972d72b4ea512c361', 'project_id': '019dfc1ffe5e7024a2cadeed299f91a3', 'keyword_id': '019dfc34653f7333bfc7501cadc000f7', 'keyword': '香港艺术展哪家好', 'brand': '香港故宫文化博物馆', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:31:10', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:49', 'update_time': '2026-05-08 11:31:10', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:31:07.461 | INFO | __main__:process_task:210 - 开始处理任务: 香港艺术展哪家好 - 397ca05231d2439972d72b4ea512c361 |
||||
|
2026-05-08 11:31:37.872 | INFO | __main__:process_task:226 - 任务 397ca05231d2439972d72b4ea512c361 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a415a870ca93b61572324d7627', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '397ca05231d2439972d72b4ea512c361', 'topic_id': '019dfc33da767056a6243dddf34a92ce', 'platform_id': '6', 'project_id': '019dfc1ffe5e7024a2cadeed299f91a3', 'keyword_id': '019dfc34653f7333bfc7501cadc000f7', 'keyword': '香港艺术展哪家好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a415a870ca93b615723319bf54', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e046d354170449312687f1628843e'}} |
||||
|
2026-05-08 11:31:38.227 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '392c643be0a6b67c18b2e317501dd049', 'project_id': '019be586fafb73cda247d02959213a71', 'keyword_id': '019be58d1f817356a11b48ecd3637230', 'keyword': '香港具有社区感的都市酒店', 'brand': '东隅', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:31:41', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:30', 'update_time': '2026-05-08 11:31:41', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:31:38.227 | INFO | __main__:process_task:210 - 开始处理任务: 香港具有社区感的都市酒店 - 392c643be0a6b67c18b2e317501dd049 |
||||
|
2026-05-08 11:32:10.419 | INFO | __main__:process_task:226 - 任务 392c643be0a6b67c18b2e317501dd049 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a48d057250adbc09e3c2885c4e', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '392c643be0a6b67c18b2e317501dd049', 'topic_id': '019be58a150272d4a9a6c732ed85f887', 'platform_id': '6', 'project_id': '019be586fafb73cda247d02959213a71', 'keyword_id': '019be58d1f817356a11b48ecd3637230', 'keyword': '香港具有社区感的都市酒店', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a48d057250adbc09e3c33aec7d', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e041b7e9e7394ac63c9a1e34c93e4'}} |
||||
|
2026-05-08 11:32:10.938 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '390058e21a0ddf43ffd1aaec3ef82a98', 'project_id': '019afd0e0a39717bbefa31cf812231a0', 'keyword_id': '019b8c08dffe73e6aef732eeba4efb45', 'keyword': '奥克斯好不好', 'brand': '奥克斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:32:13', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:10', 'update_time': '2026-05-08 11:32:13', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:32:10.938 | INFO | __main__:process_task:210 - 开始处理任务: 奥克斯好不好 - 390058e21a0ddf43ffd1aaec3ef82a98 |
||||
|
2026-05-08 11:32:55.258 | INFO | __main__:process_task:226 - 任务 390058e21a0ddf43ffd1aaec3ef82a98 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a535c570c58f2b60525e0c7a88', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '390058e21a0ddf43ffd1aaec3ef82a98', 'topic_id': '019b8c06393872269c92939e519b839f', 'platform_id': '6', 'project_id': '019afd0e0a39717bbefa31cf812231a0', 'keyword_id': '019b8c08dffe73e6aef732eeba4efb45', 'keyword': '奥克斯好不好', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a535c671c3ae7015eb6b173a01', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e043e24df7118a0d75e248b3f17da'}} |
||||
|
2026-05-08 11:32:55.619 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '38a8fa683d57634db3340cbd232eed2e', 'project_id': '01994dfeb91d7344ba52ba58507cfde9', 'keyword_id': '019a2980ee0070998182bf0ec18d8671', 'keyword': '欧莱雅', 'brand': '欧莱雅', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:32:58', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:02', 'update_time': '2026-05-08 11:32:58', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:32:55.619 | INFO | __main__:process_task:210 - 开始处理任务: 欧莱雅 - 38a8fa683d57634db3340cbd232eed2e |
||||
|
2026-05-08 11:33:33.294 | INFO | __main__:process_task:226 - 任务 38a8fa683d57634db3340cbd232eed2e 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a5cf11710b80683331b4286c93', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '38a8fa683d57634db3340cbd232eed2e', 'topic_id': '019a297b19ab7227b7fb15edd1940952', 'platform_id': '6', 'project_id': '01994dfeb91d7344ba52ba58507cfde9', 'keyword_id': '019a2980ee0070998182bf0ec18d8671', 'keyword': '欧莱雅', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a5cf1273ecab253cfff9a70553', 'origin_rank': 1, 'prev_rank': 0, 'prev_id': '019dfe621ef973488af9276aef7cb97b'}} |
||||
|
2026-05-08 11:33:33.609 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3861fcdec27e6017c93c33729dc5ee31', 'project_id': '019cd13f388773cdbf88638cc0d34ddd', 'keyword_id': '019cd14af82d7020bccb84a2e2fb79ad', 'keyword': '太天岁宝真的有用吗', 'brand': '太天岁宝', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:33:36', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:58', 'update_time': '2026-05-08 11:33:36', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:33:33.609 | INFO | __main__:process_task:210 - 开始处理任务: 太天岁宝真的有用吗 - 3861fcdec27e6017c93c33729dc5ee31 |
||||
|
2026-05-08 11:33:57.427 | INFO | __main__:process_task:226 - 任务 3861fcdec27e6017c93c33729dc5ee31 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a6345672848e742bd5000acea3', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3861fcdec27e6017c93c33729dc5ee31', 'topic_id': '019cd14ac91b7323a5ffe19ab5dd7030', 'platform_id': '6', 'project_id': '019cd13f388773cdbf88638cc0d34ddd', 'keyword_id': '019cd14af82d7020bccb84a2e2fb79ad', 'keyword': '太天岁宝真的有用吗', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a6345672848e742bd500574765', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e045a718870969a4c4e66965978b5'}} |
||||
|
2026-05-08 11:33:57.703 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3838e658648a9c8590790785f0fc3cc1', 'project_id': '019dba250737726695bad432c51d744e', 'keyword_id': '019dba26149c73119bc53c43ec22ebc2', 'keyword': '酒店机器人哪个品牌好', 'brand': '云迹科技', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:34:00', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:40', 'update_time': '2026-05-08 11:34:00', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:33:57.703 | INFO | __main__:process_task:210 - 开始处理任务: 酒店机器人哪个品牌好 - 3838e658648a9c8590790785f0fc3cc1 |
||||
|
2026-05-08 11:34:44.249 | INFO | __main__:process_task:226 - 任务 3838e658648a9c8590790785f0fc3cc1 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a6e8b272fd9580927cad3aa600', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3838e658648a9c8590790785f0fc3cc1', 'topic_id': '019dba25fa7f73649aeec6e805c37eaa', 'platform_id': '6', 'project_id': '019dba250737726695bad432c51d744e', 'keyword_id': '019dba26149c73119bc53c43ec22ebc2', 'keyword': '酒店机器人哪个品牌好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a6e8b272fd9580927cadf5eec1', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03dbeef2711e9da73c3beb217a37'}} |
||||
|
2026-05-08 11:34:44.932 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '379bca62f81ab400e69c659e7b24cdb2', 'project_id': '019dc3e9d63173b79228bc3fd7e92a67', 'keyword_id': '019dfc1c4fa67245979be156d0d089e5', 'keyword': '黄金微针机构推荐榜单', 'brand': '智美品质医美', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:34:48', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:40', 'update_time': '2026-05-08 11:34:48', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:34:44.933 | INFO | __main__:process_task:210 - 开始处理任务: 黄金微针机构推荐榜单 - 379bca62f81ab400e69c659e7b24cdb2 |
||||
|
2026-05-08 11:35:35.414 | INFO | __main__:process_task:226 - 任务 379bca62f81ab400e69c659e7b24cdb2 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a7b73571b08bb59a599fdcfa7e', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '379bca62f81ab400e69c659e7b24cdb2', 'topic_id': '019dfc1c06097313b99887a1075f2b36', 'platform_id': '6', 'project_id': '019dc3e9d63173b79228bc3fd7e92a67', 'keyword_id': '019dfc1c4fa67245979be156d0d089e5', 'keyword': '黄金微针机构推荐榜单', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a7b73571b08bb59a59a05b3f2c', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03b4050572da9e8159bcf25de35d'}} |
||||
|
2026-05-08 11:35:35.707 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3754e53bd3140505a8a63f305f8e4eb2', 'project_id': '019dc3e9d63173b79228bc3fd7e92a67', 'keyword_id': '019dfc1b8df1704aafdf01013e813070', 'keyword': '热玛吉项目哪家专业', 'brand': '智美品质医美', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:35:38', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:40', 'update_time': '2026-05-08 11:35:38', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:35:35.707 | INFO | __main__:process_task:210 - 开始处理任务: 热玛吉项目哪家专业 - 3754e53bd3140505a8a63f305f8e4eb2 |
||||
|
2026-05-08 11:36:12.399 | INFO | __main__:process_task:226 - 任务 3754e53bd3140505a8a63f305f8e4eb2 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a844987097921a414e3aaf7d7a', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3754e53bd3140505a8a63f305f8e4eb2', 'topic_id': '019dfc1b5d9473b9916da75eb26011db', 'platform_id': '6', 'project_id': '019dc3e9d63173b79228bc3fd7e92a67', 'keyword_id': '019dfc1b8df1704aafdf01013e813070', 'keyword': '热玛吉项目哪家专业', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a844987097921a414e3b08dc27', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dfe26b6cb73bcb46796ff069659d1'}} |
||||
|
2026-05-08 11:36:12.783 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3743cc8beefe88f5e05aefdc70834fea', 'project_id': '019d75fd456273fa9e40179194d8092f', 'keyword_id': '019d76009f8771e79e20ae03ee63d6c4', 'keyword': '二段奶粉哪个牌子好', 'brand': '启赋未来', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:36:15', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:23', 'update_time': '2026-05-08 11:36:15', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:36:12.783 | INFO | __main__:process_task:210 - 开始处理任务: 二段奶粉哪个牌子好 - 3743cc8beefe88f5e05aefdc70834fea |
||||
|
2026-05-08 11:36:46.723 | INFO | __main__:process_task:226 - 任务 3743cc8beefe88f5e05aefdc70834fea 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a8c871704f8680822434ace290', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3743cc8beefe88f5e05aefdc70834fea', 'topic_id': '019d7600865d70cda577156366ed8da7', 'platform_id': '6', 'project_id': '019d75fd456273fa9e40179194d8092f', 'keyword_id': '019d76009f8771e79e20ae03ee63d6c4', 'keyword': '二段奶粉哪个牌子好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a8c871704f8680822434da6f7c', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e040d95af72b782e3299fff849ae7'}} |
||||
|
2026-05-08 11:36:47.357 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3733dcd7adc3a20b9c942e5e8542c96d', 'project_id': '019cadcdf04a71869408821d12c977bc', 'keyword_id': '019cadd74ae57133a267fac0d222c610', 'keyword': '大牌通勤包哪个牌子好', 'brand': '杜嘉班纳', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:36:50', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:57', 'update_time': '2026-05-08 11:36:50', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:36:47.357 | INFO | __main__:process_task:210 - 开始处理任务: 大牌通勤包哪个牌子好 - 3733dcd7adc3a20b9c942e5e8542c96d |
||||
|
2026-05-08 11:37:36.282 | INFO | __main__:process_task:226 - 任务 3733dcd7adc3a20b9c942e5e8542c96d 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05a98da472b08c25c6ef9a246b6f', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3733dcd7adc3a20b9c942e5e8542c96d', 'topic_id': '019cadcfb300736f8f691f04dfd8b976', 'platform_id': '6', 'project_id': '019cadcdf04a71869408821d12c977bc', 'keyword_id': '019cadd74ae57133a267fac0d222c610', 'keyword': '大牌通勤包哪个牌子好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05a98da472b08c25c6ef9a324c74', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e036c111471d9bff5ba8b4ee62fe7'}} |
||||
|
2026-05-08 11:37:36.553 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '36b041e57fc41f32f9bd26b8a4538d34', 'project_id': '019ae42ae8f473cb96f9a8f9bb5c72c0', 'keyword_id': '019ae44eeb0870af8dbc978b0b370922', 'keyword': '年轻人的轿跑SUV', 'brand': '智界R7', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:37:39', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:20', 'update_time': '2026-05-08 11:37:39', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:37:36.553 | INFO | __main__:process_task:210 - 开始处理任务: 年轻人的轿跑SUV - 36b041e57fc41f32f9bd26b8a4538d34 |
||||
|
2026-05-08 11:38:14.091 | INFO | __main__:process_task:226 - 任务 36b041e57fc41f32f9bd26b8a4538d34 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05aa10ee7205bffb11ab02d7f3fb', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '36b041e57fc41f32f9bd26b8a4538d34', 'topic_id': '019ae44a76447250abf31c7419765adc', 'platform_id': '6', 'project_id': '019ae42ae8f473cb96f9a8f9bb5c72c0', 'keyword_id': '019ae44eeb0870af8dbc978b0b370922', 'keyword': '年轻人的轿跑SUV', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05aa10ef71f1946bda7184f2ad0b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e044d428e70cfb846ce53a131f747'}} |
||||
|
2026-05-08 11:38:14.403 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '36a28921adcf7cbf8a9ed9ed011b5a49', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdee7857070d2959b9cfc41e5a484', 'keyword': '张泉灵和学而思大阅读哪个好', 'brand': '学而思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:38:17', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:18', 'update_time': '2026-05-08 11:38:17', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:38:14.403 | INFO | __main__:process_task:210 - 开始处理任务: 张泉灵和学而思大阅读哪个好 - 36a28921adcf7cbf8a9ed9ed011b5a49 |
||||
|
2026-05-08 11:38:52.343 | INFO | __main__:process_task:226 - 任务 36a28921adcf7cbf8a9ed9ed011b5a49 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05aaaf087307ba2c162c11ef9d9c', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '36a28921adcf7cbf8a9ed9ed011b5a49', 'topic_id': '019bdee771a573aaacafba0952bb6dfd', 'platform_id': '6', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdee7857070d2959b9cfc41e5a484', 'keyword': '张泉灵和学而思大阅读哪个好', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05aaaf087307ba2c162c12bbe2f9', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04ea68b671b8ac76d8ba390bec76'}} |
||||
|
2026-05-08 11:38:52.702 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3676fde4bed67d349828cec878a7ba00', 'project_id': '019d96a105b6731da87c957d5ee5c95a', 'keyword_id': '019d96b1e974711c9ea6bef3b4ec5a58', 'keyword': '智慧医疗解决方案提供商', 'brand': '泰达生物', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:38:55', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:59', 'update_time': '2026-05-08 11:38:55', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:38:52.702 | INFO | __main__:process_task:210 - 开始处理任务: 智慧医疗解决方案提供商 - 3676fde4bed67d349828cec878a7ba00 |
||||
|
2026-05-08 11:39:23.269 | INFO | __main__:process_task:226 - 任务 3676fde4bed67d349828cec878a7ba00 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ab2e7072dd85bdfc17e6b25cf8', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3676fde4bed67d349828cec878a7ba00', 'topic_id': '019d96b1b24370e7a50b7f79fdc81b29', 'platform_id': '6', 'project_id': '019d96a105b6731da87c957d5ee5c95a', 'keyword_id': '019d96b1e974711c9ea6bef3b4ec5a58', 'keyword': '智慧医疗解决方案提供商', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ab2e7072dd85bdfc17e6e02365', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e036c9d6d70e59eb8f76f7a5ff4eb'}} |
||||
|
2026-05-08 11:39:23.597 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '361189068f48e3188aa03ab7a13715e7', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d25802973f88bde2f1cac7eec00', 'keyword': '都有哪些婚房高端床垫品牌推荐', 'brand': '席梦思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:39:26', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:21', 'update_time': '2026-05-08 11:39:26', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:39:23.597 | INFO | __main__:process_task:210 - 开始处理任务: 都有哪些婚房高端床垫品牌推荐 - 361189068f48e3188aa03ab7a13715e7 |
||||
|
2026-05-08 11:40:23.060 | INFO | __main__:process_task:226 - 任务 361189068f48e3188aa03ab7a13715e7 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ac05f073788a09530880c9d246', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '361189068f48e3188aa03ab7a13715e7', 'topic_id': '019b4d255dbe7357858c4522e3d3fd96', 'platform_id': '6', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d25802973f88bde2f1cac7eec00', 'keyword': '都有哪些婚房高端床垫品牌推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ac05f073788a095308817a35f7', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e038e158973c3ad19b23d32f3cfff'}} |
||||
|
2026-05-08 11:40:23.312 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '359136ac40a53f751ac1df169b7a9592', 'project_id': '019ae42ae8f473cb96f9a8f9bb5c72c0', 'keyword_id': '019ae44658127144a832f8bdbec58aae', 'keyword': '安全的轿跑SUV推荐', 'brand': '智界R7', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:40:26', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:20', 'update_time': '2026-05-08 11:40:26', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:40:23.312 | INFO | __main__:process_task:210 - 开始处理任务: 安全的轿跑SUV推荐 - 359136ac40a53f751ac1df169b7a9592 |
||||
|
2026-05-08 11:41:02.942 | INFO | __main__:process_task:226 - 任务 359136ac40a53f751ac1df169b7a9592 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05acaa327152aa0e9b1fb9ba2a44', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '359136ac40a53f751ac1df169b7a9592', 'topic_id': '019ae4431b61709fb6db0f33e604561c', 'platform_id': '6', 'project_id': '019ae42ae8f473cb96f9a8f9bb5c72c0', 'keyword_id': '019ae44658127144a832f8bdbec58aae', 'keyword': '安全的轿跑SUV推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05acaa327152aa0e9b1fba8a258d', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0524cf8770d59f4eecb55a865b5d'}} |
||||
|
2026-05-08 11:41:03.941 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '35702cd9188d36dfa0a3c94ffa5abce8', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019dd2ddcab672b890ac39454d923177', 'keyword': '东南亚商务出行怎么选', 'brand': 'grab', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:41:06', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:07', 'update_time': '2026-05-08 11:41:06', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:41:03.941 | INFO | __main__:process_task:210 - 开始处理任务: 东南亚商务出行怎么选 - 35702cd9188d36dfa0a3c94ffa5abce8 |
||||
|
2026-05-08 11:41:55.749 | INFO | __main__:process_task:226 - 任务 35702cd9188d36dfa0a3c94ffa5abce8 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ad82a0715d9098efacb12a98cb', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '35702cd9188d36dfa0a3c94ffa5abce8', 'topic_id': '019dd2dd568e710b895b808da5f0de16', 'platform_id': '6', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019dd2ddcab672b890ac39454d923177', 'keyword': '东南亚商务出行怎么选', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ad82a171c0b1c38dbebc7454dd', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e056e251a71449424a71811cc8289'}} |
||||
|
2026-05-08 11:41:55.998 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3549597a719ccf8b0027c3121d0e097c', 'project_id': '019be586fafb73cda247d02959213a71', 'keyword_id': '019be59329c372248749d9294c76d5e4', 'keyword': '北京体验感最棒的酒店推荐', 'brand': '东隅', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:41:59', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:18', 'update_time': '2026-05-08 11:41:59', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:41:55.998 | INFO | __main__:process_task:210 - 开始处理任务: 北京体验感最棒的酒店推荐 - 3549597a719ccf8b0027c3121d0e097c |
||||
|
2026-05-08 11:42:44.765 | INFO | __main__:process_task:226 - 任务 3549597a719ccf8b0027c3121d0e097c 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ae3b4873dc982e7db784211b31', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3549597a719ccf8b0027c3121d0e097c', 'topic_id': '019be59211c773a6a11c81dd45a9c15b', 'platform_id': '6', 'project_id': '019be586fafb73cda247d02959213a71', 'keyword_id': '019be59329c372248749d9294c76d5e4', 'keyword': '北京体验感最棒的酒店推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ae3b49719db55a2cfcbe915a32', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03fa946f71e4ad59ff5467b9d5b8'}} |
||||
|
2026-05-08 11:42:45.440 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '34e665bde1816ce1ca94b2b106120166', 'project_id': '019dff7f56bc73499e4717797d037198', 'keyword_id': '019dffaa2ce0727aad559131af2d40af', 'keyword': '破二级别马拉松跑鞋脚感', 'brand': '阿迪达斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:42:48', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:57', 'update_time': '2026-05-08 11:42:48', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:42:45.440 | INFO | __main__:process_task:210 - 开始处理任务: 破二级别马拉松跑鞋脚感 - 34e665bde1816ce1ca94b2b106120166 |
||||
|
2026-05-08 11:43:19.690 | INFO | __main__:process_task:226 - 任务 34e665bde1816ce1ca94b2b106120166 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05aecaaf7059b304d4a2b0e6da4d', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '34e665bde1816ce1ca94b2b106120166', 'topic_id': '019dffa9cf8072d08c74a839fb0999a2', 'platform_id': '6', 'project_id': '019dff7f56bc73499e4717797d037198', 'keyword_id': '019dffaa2ce0727aad559131af2d40af', 'keyword': '破二级别马拉松跑鞋脚感', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05aecab072a28ba1845ad7105d77', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03e428fe717ba9d6b6e4ba71c7f1'}} |
||||
|
2026-05-08 11:43:20.127 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '34ae5d7e68ba4f642410d7026983f074', 'project_id': '019c2d4aedfa708294de25ae8763be68', 'keyword_id': '019c50ec14dd70bc8478f3ee3c540328', 'keyword': '中国认知智能哪家公司值得投资', 'brand': '华院计算', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:43:23', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 11:43:23', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:43:20.127 | INFO | __main__:process_task:210 - 开始处理任务: 中国认知智能哪家公司值得投资 - 34ae5d7e68ba4f642410d7026983f074 |
||||
|
2026-05-08 11:44:06.415 | INFO | __main__:process_task:226 - 任务 34ae5d7e68ba4f642410d7026983f074 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05af7f0370aabfab127568096b61', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '34ae5d7e68ba4f642410d7026983f074', 'topic_id': '019c2d59f5ea70f886381f39b873fe33', 'platform_id': '6', 'project_id': '019c2d4aedfa708294de25ae8763be68', 'keyword_id': '019c50ec14dd70bc8478f3ee3c540328', 'keyword': '中国认知智能哪家公司值得投资', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05af7f04739aa8b4dc2a21fb1a9b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0366ed7571878f45be68db7f98f2'}} |
||||
|
2026-05-08 11:44:06.843 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3443bc638c07245f5ad5d3e28a5a8e08', 'project_id': '019a347c6ffb71ab92404aa585ce8030', 'keyword_id': '019a35264d82722399dd1610280b5bed', 'keyword': '奢侈品订婚钻戒推荐', 'brand': 'Tiffany', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:44:09', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:02', 'update_time': '2026-05-08 11:44:09', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:44:06.843 | INFO | __main__:process_task:210 - 开始处理任务: 奢侈品订婚钻戒推荐 - 3443bc638c07245f5ad5d3e28a5a8e08 |
||||
|
2026-05-08 11:44:56.393 | INFO | __main__:process_task:226 - 任务 3443bc638c07245f5ad5d3e28a5a8e08 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b039dc71448e719ca27af2469c', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3443bc638c07245f5ad5d3e28a5a8e08', 'topic_id': '019a35016d4b703ca4acc5513b50b768', 'platform_id': '6', 'project_id': '019a347c6ffb71ab92404aa585ce8030', 'keyword_id': '019a35264d82722399dd1610280b5bed', 'keyword': '奢侈品订婚钻戒推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b039dc71448e719ca27bdb8970', 'origin_rank': 2, 'prev_rank': 0, 'prev_id': '019e047345667200bc077c3a00b2584f'}} |
||||
|
2026-05-08 11:44:56.787 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '33e7d3a139132981c2acc7f145acd3e6', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d2925477065a3012983bb19ac02', 'keyword': '强支撑静音床垫品牌都有哪些', 'brand': '席梦思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:44:59', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:23', 'update_time': '2026-05-08 11:44:59', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:44:56.787 | INFO | __main__:process_task:210 - 开始处理任务: 强支撑静音床垫品牌都有哪些 - 33e7d3a139132981c2acc7f145acd3e6 |
||||
|
2026-05-08 11:45:50.528 | INFO | __main__:process_task:226 - 任务 33e7d3a139132981c2acc7f145acd3e6 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b117da73088da35d384c313255', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '33e7d3a139132981c2acc7f145acd3e6', 'topic_id': '019b4d28cc067341b3bf0609c33a2471', 'platform_id': '6', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d2925477065a3012983bb19ac02', 'keyword': '强支撑静音床垫品牌都有哪些', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b117da73088da35d384c662971', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e053c72d2717089c90665ccaba1e2'}} |
||||
|
2026-05-08 11:45:50.749 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '33ab90d11dad5d19a3a53f2c1dfb30b8', 'project_id': '019abfbb4e5e71a8b2eed80f4876d94d', 'keyword_id': '019ac9a54e3870f59507212de57273b2', 'keyword': '券商AI服务商推荐', 'brand': '华泰证券', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:45:53', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:20', 'update_time': '2026-05-08 11:45:53', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:45:50.749 | INFO | __main__:process_task:210 - 开始处理任务: 券商AI服务商推荐 - 33ab90d11dad5d19a3a53f2c1dfb30b8 |
||||
|
2026-05-08 11:46:25.229 | INFO | __main__:process_task:226 - 任务 33ab90d11dad5d19a3a53f2c1dfb30b8 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b1a256721282c8bf2c2a2541c4', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '33ab90d11dad5d19a3a53f2c1dfb30b8', 'topic_id': '019ac9a3243e704eaddca1d9ba6afb7e', 'platform_id': '6', 'project_id': '019abfbb4e5e71a8b2eed80f4876d94d', 'keyword_id': '019ac9a54e3870f59507212de57273b2', 'keyword': '券商AI服务商推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b1a256721282c8bf2c2aaf54c0', 'origin_rank': 6, 'prev_rank': 0, 'prev_id': '019e03bce97272b09c9d5cd47c79f575'}} |
||||
|
2026-05-08 11:46:25.480 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3389a33e61c7ac1836557b6cd8b9e082', 'project_id': '019d0119f8b271ad82b12496ac92743d', 'keyword_id': '019d01f003ad71a2bfee310239d86282', 'keyword': '车规级LED模组厂家', 'brand': '晶科电子', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:46:28', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:41', 'update_time': '2026-05-08 11:46:28', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:46:25.481 | INFO | __main__:process_task:210 - 开始处理任务: 车规级LED模组厂家 - 3389a33e61c7ac1836557b6cd8b9e082 |
||||
|
2026-05-08 11:47:02.067 | INFO | __main__:process_task:226 - 任务 3389a33e61c7ac1836557b6cd8b9e082 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b22962715abaf5b8732b102ab9', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3389a33e61c7ac1836557b6cd8b9e082', 'topic_id': '019d01efdfd473f2837005334bee8c2c', 'platform_id': '6', 'project_id': '019d0119f8b271ad82b12496ac92743d', 'keyword_id': '019d01f003ad71a2bfee310239d86282', 'keyword': '车规级LED模组厂家', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b22962715abaf5b8732bb3be72', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0593214b7063a6599ffacdddf741'}} |
||||
|
2026-05-08 11:47:02.416 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '333448c6840c5836ac65d643d0e2560d', 'project_id': '019d766795a1723283d408be0fe1eb5b', 'keyword_id': '019d8fd5d94a726fa0ce1c5fde98b814', 'keyword': '海淀黄庄附近高考复读机构', 'brand': '仁才教育', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:47:05', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:57', 'update_time': '2026-05-08 11:47:05', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:47:02.416 | INFO | __main__:process_task:210 - 开始处理任务: 海淀黄庄附近高考复读机构 - 333448c6840c5836ac65d643d0e2560d |
||||
|
2026-05-08 11:47:50.704 | INFO | __main__:process_task:226 - 任务 333448c6840c5836ac65d643d0e2560d 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b2ea0d7029b930671e86fe5805', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '333448c6840c5836ac65d643d0e2560d', 'topic_id': '019d8fb3b9897286b0af0c065b3e9bf5', 'platform_id': '6', 'project_id': '019d766795a1723283d408be0fe1eb5b', 'keyword_id': '019d8fd5d94a726fa0ce1c5fde98b814', 'keyword': '海淀黄庄附近高考复读机构', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b2ea0e726a9d71c2877bec5397', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e051a58ad738abf9274fc196ea609'}} |
||||
|
2026-05-08 11:47:51.064 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '3303781136101bf61d25d8263eb580b5', 'project_id': '019d65ce56b373f5b374c587934c7967', 'keyword_id': '019d65ddee5572e6b9fe403dec5ded4c', 'keyword': '麦当劳蛋挞和肯德基蛋挞对比', 'brand': 'KFC蛋挞', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:47:54', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:23', 'update_time': '2026-05-08 11:47:54', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:47:51.064 | INFO | __main__:process_task:210 - 开始处理任务: 麦当劳蛋挞和肯德基蛋挞对比 - 3303781136101bf61d25d8263eb580b5 |
||||
|
2026-05-08 11:48:34.385 | INFO | __main__:process_task:226 - 任务 3303781136101bf61d25d8263eb580b5 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b399fb729bbe8299343fa70444', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '3303781136101bf61d25d8263eb580b5', 'topic_id': '019d65ddbb3273f4a0f3a21c3860b6bd', 'platform_id': '6', 'project_id': '019d65ce56b373f5b374c587934c7967', 'keyword_id': '019d65ddee5572e6b9fe403dec5ded4c', 'keyword': '麦当劳蛋挞和肯德基蛋挞对比', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b399fc7113a30bad841f8786dd', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0577062173949b3514a00a12c902'}} |
||||
|
2026-05-08 11:48:34.699 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '32b6097b62c76ed9ad0836daf144a177', 'project_id': '019a95f401567182a2e3d481db5bf0cc', 'keyword_id': '019a960889cb70ffa69e45f96636686f', 'keyword': '苹果16promax手机壳哪个牌子的好', 'brand': '图拉斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:48:37', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:08', 'update_time': '2026-05-08 11:48:37', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:48:34.701 | INFO | __main__:process_task:210 - 开始处理任务: 苹果16promax手机壳哪个牌子的好 - 32b6097b62c76ed9ad0836daf144a177 |
||||
|
2026-05-08 11:49:06.986 | INFO | __main__:process_task:226 - 任务 32b6097b62c76ed9ad0836daf144a177 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b4113a725b9de0ac12b413ab0f', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '32b6097b62c76ed9ad0836daf144a177', 'topic_id': '019a95f8f3427039a6d80722146a6b2d', 'platform_id': '6', 'project_id': '019a95f401567182a2e3d481db5bf0cc', 'keyword_id': '019a960889cb70ffa69e45f96636686f', 'keyword': '苹果16promax手机壳哪个牌子的好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b4113b7180825589c6d205d72c', 'origin_rank': 3, 'prev_rank': 0, 'prev_id': '019e03e8126a72109326ddd5e11d657b'}} |
||||
|
2026-05-08 11:49:07.319 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '328ce6b17efaacc56f288b7e277bcd41', 'project_id': '019be46add71719f90b48d128d961455', 'keyword_id': '019be46db7e771f2b57f3d1e8fb7c0d0', 'keyword': '男生新年礼物', 'brand': 'ps5', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:49:10', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:18', 'update_time': '2026-05-08 11:49:10', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:49:07.319 | INFO | __main__:process_task:210 - 开始处理任务: 男生新年礼物 - 328ce6b17efaacc56f288b7e277bcd41 |
||||
|
2026-05-08 11:50:01.683 | INFO | __main__:process_task:226 - 任务 328ce6b17efaacc56f288b7e277bcd41 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b4eb77704698a0ed9ad033797f', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '328ce6b17efaacc56f288b7e277bcd41', 'topic_id': '019be46c75377229b258cef5164223e1', 'platform_id': '6', 'project_id': '019be46add71719f90b48d128d961455', 'keyword_id': '019be46db7e771f2b57f3d1e8fb7c0d0', 'keyword': '男生新年礼物', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b4eb78723e971f90a03ba58157', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04415a67727b8224c3fd911eb3f0'}} |
||||
|
2026-05-08 11:50:02.305 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '32588d6186c1579db59cd8f9139bb86f', 'project_id': '019ddc6877a572e2b9a75e8c01c9d981', 'keyword_id': '019ddc6f37d671feb9fc963034ac4077', 'keyword': '热玛吉品牌推荐', 'brand': '智美', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:50:05', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:07', 'update_time': '2026-05-08 11:50:05', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:50:02.305 | INFO | __main__:process_task:210 - 开始处理任务: 热玛吉品牌推荐 - 32588d6186c1579db59cd8f9139bb86f |
||||
|
2026-05-08 11:50:51.286 | INFO | __main__:process_task:226 - 任务 32588d6186c1579db59cd8f9139bb86f 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b5b1a3708f9d4d8c4360564982', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '32588d6186c1579db59cd8f9139bb86f', 'topic_id': '019ddc6f0a4b720abd4495e7e444784e', 'platform_id': '6', 'project_id': '019ddc6877a572e2b9a75e8c01c9d981', 'keyword_id': '019ddc6f37d671feb9fc963034ac4077', 'keyword': '热玛吉品牌推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b5b1a471d68329755bdc87d190', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e045ec91c700884dfc350c888b78b'}} |
||||
|
2026-05-08 11:50:51.540 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '32145db130890c5ad784bd2adee354c4', 'project_id': '019a347c6ffb71ab92404aa585ce8030', 'keyword_id': '019a3525e875712e832420a0b8c7da3f', 'keyword': '高奢婚戒推荐', 'brand': 'Tiffany', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:50:54', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:18', 'update_time': '2026-05-08 11:50:54', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:50:51.540 | INFO | __main__:process_task:210 - 开始处理任务: 高奢婚戒推荐 - 32145db130890c5ad784bd2adee354c4 |
||||
|
2026-05-08 11:51:49.984 | INFO | __main__:process_task:226 - 任务 32145db130890c5ad784bd2adee354c4 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b68bb37371a7801ec1e5b35cdc', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '32145db130890c5ad784bd2adee354c4', 'topic_id': '019a35016d4b703ca4acc5513b50b768', 'platform_id': '6', 'project_id': '019a347c6ffb71ab92404aa585ce8030', 'keyword_id': '019a3525e875712e832420a0b8c7da3f', 'keyword': '高奢婚戒推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b68bb470ba80d3fc8a34e419dc', 'origin_rank': 2, 'prev_rank': 0, 'prev_id': '019dff8a19d1715ea7e563c3a6fbe0b7'}} |
||||
|
2026-05-08 11:51:50.365 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '31d25e9f9f651e124ecdefdfc0b3f6d0', 'project_id': '019daf4f840472019f1f4ee388d61efb', 'keyword_id': '019daf50709172a4b47997e97868fe51', 'keyword': '招标采购saas平台', 'brand': '招采进宝', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:51:53', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:01', 'update_time': '2026-05-08 11:51:53', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:51:50.365 | INFO | __main__:process_task:210 - 开始处理任务: 招标采购saas平台 - 31d25e9f9f651e124ecdefdfc0b3f6d0 |
||||
|
2026-05-08 11:52:38.985 | INFO | __main__:process_task:226 - 任务 31d25e9f9f651e124ecdefdfc0b3f6d0 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b756b071b7b3d96c0305e018a5', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '31d25e9f9f651e124ecdefdfc0b3f6d0', 'topic_id': '019daf4ff38b70739094e7454e722b02', 'platform_id': '6', 'project_id': '019daf4f840472019f1f4ee388d61efb', 'keyword_id': '019daf50709172a4b47997e97868fe51', 'keyword': '招标采购saas平台', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b756b171d39aac6c0cf409877d', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0494fa61701a97e777def0a661d9'}} |
||||
|
2026-05-08 11:52:39.199 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '317add1d48ae7561038ab5e0a290cb40', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c41c141e673b4b9fafba1b6c8bbaf', 'keyword': '具身智能机器人展会', 'brand': '国展', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:52:42', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 11:52:42', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:52:39.200 | INFO | __main__:process_task:210 - 开始处理任务: 具身智能机器人展会 - 317add1d48ae7561038ab5e0a290cb40 |
||||
|
2026-05-08 11:53:33.229 | INFO | __main__:process_task:226 - 任务 317add1d48ae7561038ab5e0a290cb40 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b80d6e73bb98de65ace3e446d1', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '317add1d48ae7561038ab5e0a290cb40', 'topic_id': '019c418decb7708dbc2cebe23942efb7', 'platform_id': '6', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c41c141e673b4b9fafba1b6c8bbaf', 'keyword': '具身智能机器人展会', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b80d6f73ba8bad104f72f2b8a5', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0524054f70358ee64a960da5d77d'}} |
||||
|
2026-05-08 11:53:33.662 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '31139253f1f0d684fd940d247b2c27a9', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019dd2e78b0f7034b49d9ae9884f82e7', 'keyword': '东南亚企业出行管理怎么选', 'brand': 'grab', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:53:36', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:07', 'update_time': '2026-05-08 11:53:36', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:53:33.662 | INFO | __main__:process_task:210 - 开始处理任务: 东南亚企业出行管理怎么选 - 31139253f1f0d684fd940d247b2c27a9 |
||||
|
2026-05-08 11:54:22.290 | INFO | __main__:process_task:226 - 任务 31139253f1f0d684fd940d247b2c27a9 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b8e43771b9b56e1fe33944be70', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '31139253f1f0d684fd940d247b2c27a9', 'topic_id': '019dd2dd886d71cd919aad794ce8d96d', 'platform_id': '6', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019dd2e78b0f7034b49d9ae9884f82e7', 'keyword': '东南亚企业出行管理怎么选', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b8e4387140b17b9ac111deac89', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e050a3b2e70fdb7dbf7220bbb16a9'}} |
||||
|
2026-05-08 11:54:22.683 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '30f16893b58ad2b203b1cb3d4defa3d4', 'project_id': '019d1ea5971571c086555ef7db3f8269', 'keyword_id': '019d1ea84bcb73fc96dbc5a7ef8f5f43', 'keyword': '支点手机壳推荐哪个牌子', 'brand': '图拉斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:54:25', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:42', 'update_time': '2026-05-08 11:54:25', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:54:22.683 | INFO | __main__:process_task:210 - 开始处理任务: 支点手机壳推荐哪个牌子 - 30f16893b58ad2b203b1cb3d4defa3d4 |
||||
|
2026-05-08 11:55:01.543 | INFO | __main__:process_task:226 - 任务 30f16893b58ad2b203b1cb3d4defa3d4 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b97cc972e28b36bf75a5975f13', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '30f16893b58ad2b203b1cb3d4defa3d4', 'topic_id': '019d1ea706847334ad87d1ba268cfc9f', 'platform_id': '6', 'project_id': '019d1ea5971571c086555ef7db3f8269', 'keyword_id': '019d1ea84bcb73fc96dbc5a7ef8f5f43', 'keyword': '支点手机壳推荐哪个牌子', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b97cc972e28b36bf75a620a1f7', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0416edc67003a701ee1b5078fcf0'}} |
||||
|
2026-05-08 11:55:02.019 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '30a28da34044b71cd1ff45696c96d501', 'project_id': '019ae42ae8f473cb96f9a8f9bb5c72c0', 'keyword_id': '019bb2e77ac871399cbd07f23f781b3c', 'keyword': '适合年轻人的智能座舱纯电SUV', 'brand': '智界R7', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:55:05', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:08', 'update_time': '2026-05-08 11:55:05', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:55:02.019 | INFO | __main__:process_task:210 - 开始处理任务: 适合年轻人的智能座舱纯电SUV - 30a28da34044b71cd1ff45696c96d501 |
||||
|
2026-05-08 11:55:35.912 | INFO | __main__:process_task:226 - 任务 30a28da34044b71cd1ff45696c96d501 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05b9fe0d702383d27c6d21093e9d', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '30a28da34044b71cd1ff45696c96d501', 'topic_id': '019ae447f00f7280890c392849bf4b5b', 'platform_id': '6', 'project_id': '019ae42ae8f473cb96f9a8f9bb5c72c0', 'keyword_id': '019bb2e77ac871399cbd07f23f781b3c', 'keyword': '适合年轻人的智能座舱纯电SUV', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05b9fe0e73bab16642479e35738b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e040e56ac73ceb445ad67643f9a9d'}} |
||||
|
2026-05-08 11:55:36.315 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '305d154306fc954c7d63f9aa4e5d23fe', 'project_id': '019dfd2b7ae17289a67389753c90dc97', 'keyword_id': '019dfd2d830371a2bcbc8c9de10d30bd', 'keyword': '血糖仪准确率排名第一', 'brand': '华广瑞特', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:55:39', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:13', 'update_time': '2026-05-08 11:55:39', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:55:36.316 | INFO | __main__:process_task:210 - 开始处理任务: 血糖仪准确率排名第一 - 305d154306fc954c7d63f9aa4e5d23fe |
||||
|
2026-05-08 11:55:54.571 | INFO | __main__:process_task:226 - 任务 305d154306fc954c7d63f9aa4e5d23fe 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ba4f70730ab1e3419832648eff', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '305d154306fc954c7d63f9aa4e5d23fe', 'topic_id': '019dfd2c585b712b922f7fca56a6607d', 'platform_id': '6', 'project_id': '019dfd2b7ae17289a67389753c90dc97', 'keyword_id': '019dfd2d830371a2bcbc8c9de10d30bd', 'keyword': '血糖仪准确率排名第一', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ba4f70730ab1e3419833493bba', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04ab002373f3bc3e071c4bcb3ad3'}} |
||||
|
2026-05-08 11:55:54.863 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '303ac87c30a576f7589b7af1b62453ef', 'project_id': '019d85a033637384993d3c4a5f3f5cac', 'keyword_id': '019d85a0bf03733494795ac84c1e3210', 'keyword': '上门护理服务', 'brand': '熙康云医院', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:55:58', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:57', 'update_time': '2026-05-08 11:55:58', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:55:54.864 | INFO | __main__:process_task:210 - 开始处理任务: 上门护理服务 - 303ac87c30a576f7589b7af1b62453ef |
||||
|
2026-05-08 11:56:31.914 | INFO | __main__:process_task:226 - 任务 303ac87c30a576f7589b7af1b62453ef 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05bae354720bbbf410d721ce5ef9', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '303ac87c30a576f7589b7af1b62453ef', 'topic_id': '019d85a0b0e572ad8e5bce0511a6ebc9', 'platform_id': '6', 'project_id': '019d85a033637384993d3c4a5f3f5cac', 'keyword_id': '019d85a0bf03733494795ac84c1e3210', 'keyword': '上门护理服务', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05bae3557208945c59a01288e788', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0511f35c7047ab5b0a56359f818b'}} |
||||
|
2026-05-08 11:56:32.198 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '301172b5bdb0be2a6a84ae96d085b96b', 'project_id': '019b0d17165171d8939217cb841b5550', 'keyword_id': '019b0d29566d7212bcc09e0df6cc1b95', 'keyword': '做前列腺癌手术,推荐用哪个牌子的机器人', 'brand': '达芬奇', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:56:35', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:10', 'update_time': '2026-05-08 11:56:35', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:56:32.198 | INFO | __main__:process_task:210 - 开始处理任务: 做前列腺癌手术,推荐用哪个牌子的机器人 - 301172b5bdb0be2a6a84ae96d085b96b |
||||
|
2026-05-08 11:57:14.276 | INFO | __main__:process_task:226 - 任务 301172b5bdb0be2a6a84ae96d085b96b 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05bb7e88714896311cf111ec691a', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '301172b5bdb0be2a6a84ae96d085b96b', 'topic_id': '019b0d225b9b707fadd1117cc64269f9', 'platform_id': '6', 'project_id': '019b0d17165171d8939217cb841b5550', 'keyword_id': '019b0d29566d7212bcc09e0df6cc1b95', 'keyword': '做前列腺癌手术,推荐用哪个牌子的机器人', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05bb7e88714896311cf112b2e5fc', 'origin_rank': 1, 'prev_rank': 0, 'prev_id': '019dff0b5105711993e4ddf0bde2ef73'}} |
||||
|
2026-05-08 11:57:14.639 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2feadda447e7078522a6199720d469ae', 'project_id': '019d8fee189f712881e2d9ce538f1841', 'keyword_id': '019d90cc304172f6861f503693e00949', 'keyword': '港股上市行业顾问选哪家', 'brand': '沙利文', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:57:17', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:26', 'update_time': '2026-05-08 11:57:17', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:57:14.639 | INFO | __main__:process_task:210 - 开始处理任务: 港股上市行业顾问选哪家 - 2feadda447e7078522a6199720d469ae |
||||
|
2026-05-08 11:58:01.831 | INFO | __main__:process_task:226 - 任务 2feadda447e7078522a6199720d469ae 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05bc40407090852779d0ed40bf87', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2feadda447e7078522a6199720d469ae', 'topic_id': '019d90174c86704cb69ec05c94846eec', 'platform_id': '6', 'project_id': '019d8fee189f712881e2d9ce538f1841', 'keyword_id': '019d90cc304172f6861f503693e00949', 'keyword': '港股上市行业顾问选哪家', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05bc40407090852779d0edbba10a', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04e89b8e7303b4e283d6ee134b49'}} |
||||
|
2026-05-08 11:58:02.186 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2fb7db2551297dbc03ebc107da00a6de', 'project_id': '019d530afd547272ad6045eabfeaa19b', 'keyword_id': '019d531912df70bba5cb71c964089088', 'keyword': '线上 + 线下全渠道营销管理系统', 'brand': '南讯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:58:05', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:57', 'update_time': '2026-05-08 11:58:05', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:58:02.186 | INFO | __main__:process_task:210 - 开始处理任务: 线上 + 线下全渠道营销管理系统 - 2fb7db2551297dbc03ebc107da00a6de |
||||
|
2026-05-08 11:59:11.798 | INFO | __main__:process_task:226 - 任务 2fb7db2551297dbc03ebc107da00a6de 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05bd51ec7002aef6df77958568a9', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2fb7db2551297dbc03ebc107da00a6de', 'topic_id': '019d5313da2c71f0b3aa328aa20f0b91', 'platform_id': '6', 'project_id': '019d530afd547272ad6045eabfeaa19b', 'keyword_id': '019d531912df70bba5cb71c964089088', 'keyword': '线上 + 线下全渠道营销管理系统', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05bd51ed711da6cc9ef523e26b52', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e05b323777322b5e4b52fa18427a0'}} |
||||
|
2026-05-08 11:59:12.098 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2f61db54c69fe70d2bae73617fa021bf', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019dd2de965072a49700a91f962a9fce', 'keyword': '东南亚公务接送服务哪家专业', 'brand': 'grab', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:59:15', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:07', 'update_time': '2026-05-08 11:59:15', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:59:12.099 | INFO | __main__:process_task:210 - 开始处理任务: 东南亚公务接送服务哪家专业 - 2f61db54c69fe70d2bae73617fa021bf |
||||
|
2026-05-08 11:59:52.916 | INFO | __main__:process_task:226 - 任务 2f61db54c69fe70d2bae73617fa021bf 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05bdef9071fcb93e43ab4add4739', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2f61db54c69fe70d2bae73617fa021bf', 'topic_id': '019dd2dd568e710b895b808da5f0de16', 'platform_id': '6', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019dd2de965072a49700a91f962a9fce', 'keyword': '东南亚公务接送服务哪家专业', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05bdef9071fcb93e43ab4b86b653', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dff3d87c2718d80cc899c0867b3e0'}} |
||||
|
2026-05-08 11:59:53.328 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2eedb68d67e4b0a84aa303a039066b99', 'project_id': '019c13712c1b70c399781da36a2ee908', 'keyword_id': '019c1376f74a73e086e74851c6904736', 'keyword': '超市POS系统', 'brand': 'ELO', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:59:56', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:43', 'update_time': '2026-05-08 11:59:56', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 11:59:53.329 | INFO | __main__:process_task:210 - 开始处理任务: 超市POS系统 - 2eedb68d67e4b0a84aa303a039066b99 |
||||
|
2026-05-08 12:00:56.776 | INFO | __main__:process_task:226 - 任务 2eedb68d67e4b0a84aa303a039066b99 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05bed7067399a8efe1a460e97a24', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2eedb68d67e4b0a84aa303a039066b99', 'topic_id': '019c1374c65472929556bbd762310af5', 'platform_id': '6', 'project_id': '019c13712c1b70c399781da36a2ee908', 'keyword_id': '019c1376f74a73e086e74851c6904736', 'keyword': '超市POS系统', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05bed7067399a8efe1a4619c9593', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0428b28f72b7beadbacb8a09545b'}} |
||||
|
2026-05-08 12:00:57.137 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2ebeac2b461de3410776d7f36a73bca7', 'project_id': '019d1ea5971571c086555ef7db3f8269', 'keyword_id': '019d1ea84bcb73fc96dbc5a7f9abd81c', 'keyword': '苹果手机壳哪家质量好', 'brand': '图拉斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:01:00', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:42', 'update_time': '2026-05-08 12:01:00', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:00:57.137 | INFO | __main__:process_task:210 - 开始处理任务: 苹果手机壳哪家质量好 - 2ebeac2b461de3410776d7f36a73bca7 |
||||
|
2026-05-08 12:01:29.706 | INFO | __main__:process_task:226 - 任务 2ebeac2b461de3410776d7f36a73bca7 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05bf659d71f59b59e59772ac8bea', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2ebeac2b461de3410776d7f36a73bca7', 'topic_id': '019d1ea780c772c895980c222192baeb', 'platform_id': '6', 'project_id': '019d1ea5971571c086555ef7db3f8269', 'keyword_id': '019d1ea84bcb73fc96dbc5a7f9abd81c', 'keyword': '苹果手机壳哪家质量好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05bf659d71f59b59e597733b2ee2', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04db0f2872618b5e552f89715da1'}} |
||||
|
2026-05-08 12:01:30.084 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2e9d21d60f98549cbb0429d915f582b0', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c47615574706b9e1b41d680108f16', 'keyword': '具身智能展览会', 'brand': '国展', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:01:33', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:57', 'update_time': '2026-05-08 12:01:33', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:01:30.084 | INFO | __main__:process_task:210 - 开始处理任务: 具身智能展览会 - 2e9d21d60f98549cbb0429d915f582b0 |
||||
|
2026-05-08 12:02:25.371 | INFO | __main__:process_task:226 - 任务 2e9d21d60f98549cbb0429d915f582b0 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c03ebb723ca8eec98a42200e42', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2e9d21d60f98549cbb0429d915f582b0', 'topic_id': '019c4761435b7072a40790c76f25e856', 'platform_id': '6', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c47615574706b9e1b41d680108f16', 'keyword': '具身智能展览会', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c03ebc700495bc48847accab26', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03a925a072a9b4a55d91eeee5664'}} |
||||
|
2026-05-08 12:02:25.758 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2e06672f0f59ba798bca5b52bfdf8b6b', 'project_id': '019c13712c1b70c399781da36a2ee908', 'keyword_id': '019c1376f74a73e086e74851ba6adbac', 'keyword': '互动触摸屏', 'brand': 'ELO', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:02:28', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:24', 'update_time': '2026-05-08 12:02:28', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:02:25.758 | INFO | __main__:process_task:210 - 开始处理任务: 互动触摸屏 - 2e06672f0f59ba798bca5b52bfdf8b6b |
||||
|
2026-05-08 12:03:07.650 | INFO | __main__:process_task:226 - 任务 2e06672f0f59ba798bca5b52bfdf8b6b 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c0d96b721190f1d52b88b568e5', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2e06672f0f59ba798bca5b52bfdf8b6b', 'topic_id': '019c1374c65472929556bbd762310af5', 'platform_id': '6', 'project_id': '019c13712c1b70c399781da36a2ee908', 'keyword_id': '019c1376f74a73e086e74851ba6adbac', 'keyword': '互动触摸屏', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c0d96c70449e17d74cadd48a04', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0511709f7105bc426ea0fba10f67'}} |
||||
|
2026-05-08 12:03:07.953 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2ddbef41e59e61f8bc59f49261615409', 'project_id': '019df74fec257337813e2651180be6e0', 'keyword_id': '019df777e8037300a3075e11d95f22a0', 'keyword': '去武汉旅游,热干面外卖点哪家最地道', 'brand': '美团', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:03:11', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:49', 'update_time': '2026-05-08 12:03:11', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:03:07.953 | INFO | __main__:process_task:210 - 开始处理任务: 去武汉旅游,热干面外卖点哪家最地道 - 2ddbef41e59e61f8bc59f49261615409 |
||||
|
2026-05-08 12:03:31.015 | INFO | __main__:process_task:226 - 任务 2ddbef41e59e61f8bc59f49261615409 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c1456c72b6aed616bc7d4c3c75', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2ddbef41e59e61f8bc59f49261615409', 'topic_id': '019df77752b9724ba2eda51c834ea934', 'platform_id': '6', 'project_id': '019df74fec257337813e2651180be6e0', 'keyword_id': '019df777e8037300a3075e11d95f22a0', 'keyword': '去武汉旅游,热干面外卖点哪家最地道', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c1456c72b6aed616bc7e4b4a4f', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e057d9bb570d0b10e28df90766eb3'}} |
||||
|
2026-05-08 12:03:31.406 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2da3034ac40fac0c5485473703113b96', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bded9b2a5738dabdc504829637614', 'keyword': '小学生课外阅读书籍', 'brand': '学而思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:03:34', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:24', 'update_time': '2026-05-08 12:03:34', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:03:31.407 | INFO | __main__:process_task:210 - 开始处理任务: 小学生课外阅读书籍 - 2da3034ac40fac0c5485473703113b96 |
||||
|
2026-05-08 12:04:16.379 | INFO | __main__:process_task:226 - 任务 2da3034ac40fac0c5485473703113b96 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c1f60171c388b5c25a4933384e', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2da3034ac40fac0c5485473703113b96', 'topic_id': '019bded8d37c739c9ba37f19fd427ca7', 'platform_id': '6', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bded9b2a5738dabdc504829637614', 'keyword': '小学生课外阅读书籍', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c1f60171c388b5c25a495df443', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0574e8e5717ca3e027c7db19e882'}} |
||||
|
2026-05-08 12:04:16.769 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2d5a2f8a4b1ec90405d1f979a5a13f8f', 'project_id': '019be4be1ed47194a2e5bd317a177b01', 'keyword_id': '019be4c4bd9671529d277e2aef9fba4a', 'keyword': '国际一线男装10大品牌', 'brand': 'Stefano Ricci', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:04:19', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:30', 'update_time': '2026-05-08 12:04:19', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:04:16.769 | INFO | __main__:process_task:210 - 开始处理任务: 国际一线男装10大品牌 - 2d5a2f8a4b1ec90405d1f979a5a13f8f |
||||
|
2026-05-08 12:05:03.118 | INFO | __main__:process_task:226 - 任务 2d5a2f8a4b1ec90405d1f979a5a13f8f 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c2a910709ca441f7eeadd6db1f', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2d5a2f8a4b1ec90405d1f979a5a13f8f', 'topic_id': '019be4c3411970fe86c4943740cfbab8', 'platform_id': '6', 'project_id': '019be4be1ed47194a2e5bd317a177b01', 'keyword_id': '019be4c4bd9671529d277e2aef9fba4a', 'keyword': '国际一线男装10大品牌', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c2a910709ca441f7eeae5c7991', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03a851f8726a8c9c17226fc4dc4b'}} |
||||
|
2026-05-08 12:05:03.472 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2d163edf12b575271e0ff6ffa36a0c66', 'project_id': '019a6b71fcb67118956421a773018434', 'keyword_id': '019d50f0cc637309ab899e134b26868b', 'keyword': '不粘锅推荐', 'brand': '传策', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:05:06', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:19', 'update_time': '2026-05-08 12:05:06', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:05:03.473 | INFO | __main__:process_task:210 - 开始处理任务: 不粘锅推荐 - 2d163edf12b575271e0ff6ffa36a0c66 |
||||
|
2026-05-08 12:05:54.665 | INFO | __main__:process_task:226 - 任务 2d163edf12b575271e0ff6ffa36a0c66 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c37ab97225a69f215f54543640', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2d163edf12b575271e0ff6ffa36a0c66', 'topic_id': '019d50f0915870e59fa5f579c26ef76f', 'platform_id': '6', 'project_id': '019a6b71fcb67118956421a773018434', 'keyword_id': '019d50f0cc637309ab899e134b26868b', 'keyword': '不粘锅推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c37ab97225a69f215f549440e6', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0481ed7d707abd79918569bb2630'}} |
||||
|
2026-05-08 12:05:54.917 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2cada135b158fa5ecbd4fe2406695ee1', 'project_id': '019db9b4df127126902640f3c5499cd3', 'keyword_id': '019db9b82b097139b7ca9b87a4974653', 'keyword': '实战型品牌战略咨询公司推荐', 'brand': '心胜战略咨询', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:05:58', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:40', 'update_time': '2026-05-08 12:05:58', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:05:54.917 | INFO | __main__:process_task:210 - 开始处理任务: 实战型品牌战略咨询公司推荐 - 2cada135b158fa5ecbd4fe2406695ee1 |
||||
|
2026-05-08 12:06:31.332 | INFO | __main__:process_task:226 - 任务 2cada135b158fa5ecbd4fe2406695ee1 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c40494728ba219d9ff724e2380', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2cada135b158fa5ecbd4fe2406695ee1', 'topic_id': '019db9b7917c7015a59f90d06737a90c', 'platform_id': '6', 'project_id': '019db9b4df127126902640f3c5499cd3', 'keyword_id': '019db9b82b097139b7ca9b87a4974653', 'keyword': '实战型品牌战略咨询公司推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c4049571aa939afdd770142c8b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e036233cc72c383362ed75ce4d528'}} |
||||
|
2026-05-08 12:06:31.732 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2c9a7ff07be540bb740bf2fb7c610295', 'project_id': '019dfd2b7ae17289a67389753c90dc97', 'keyword_id': '019dfd2d830371a2bcbc8c9dd4f70475', 'keyword': '血糖仪十大名牌价格', 'brand': '华广瑞特', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:06:34', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:57', 'update_time': '2026-05-08 12:06:34', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:06:31.733 | INFO | __main__:process_task:210 - 开始处理任务: 血糖仪十大名牌价格 - 2c9a7ff07be540bb740bf2fb7c610295 |
||||
|
2026-05-08 12:06:59.015 | INFO | __main__:process_task:226 - 任务 2c9a7ff07be540bb740bf2fb7c610295 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c472d171cbb61235bec205e756', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2c9a7ff07be540bb740bf2fb7c610295', 'topic_id': '019dfd2c585b712b922f7fca56a6607d', 'platform_id': '6', 'project_id': '019dfd2b7ae17289a67389753c90dc97', 'keyword_id': '019dfd2d830371a2bcbc8c9dd4f70475', 'keyword': '血糖仪十大名牌价格', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c472d273418bc0570670d85fe6', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0597746472d2bec19802d0d2247c'}} |
||||
|
2026-05-08 12:06:59.402 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2c54818c188f4f6a09fb2ff1079a1b57', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdee6881e7356af88cb3a812bb809', 'keyword': '学而思大阅读课怎么样', 'brand': '学而思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:07:02', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:29', 'update_time': '2026-05-08 12:07:02', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:06:59.404 | INFO | __main__:process_task:210 - 开始处理任务: 学而思大阅读课怎么样 - 2c54818c188f4f6a09fb2ff1079a1b57 |
||||
|
2026-05-08 12:07:32.345 | INFO | __main__:process_task:226 - 任务 2c54818c188f4f6a09fb2ff1079a1b57 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c4f66c70e18f751518f4bf5a4f', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2c54818c188f4f6a09fb2ff1079a1b57', 'topic_id': '019bdee60bbf73edae8bee01cc72acfc', 'platform_id': '6', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdee6881e7356af88cb3a812bb809', 'keyword': '学而思大阅读课怎么样', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c4f66d70a49bd4c0a814f77950', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03bfeda2727791e16cd66c08aa35'}} |
||||
|
2026-05-08 12:07:32.650 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2c037fd76c3fc1ed6f2867c78a6eb56f', 'project_id': '019ae42ae8f473cb96f9a8f9bb5c72c0', 'keyword_id': '019bb2e6dd7372fc8707a59e795ac847', 'keyword': '具备智能座舱的纯电轿跑SUV推荐', 'brand': '智界R7', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:07:35', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:20', 'update_time': '2026-05-08 12:07:35', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:07:32.650 | INFO | __main__:process_task:210 - 开始处理任务: 具备智能座舱的纯电轿跑SUV推荐 - 2c037fd76c3fc1ed6f2867c78a6eb56f |
||||
|
2026-05-08 12:08:26.349 | INFO | __main__:process_task:226 - 任务 2c037fd76c3fc1ed6f2867c78a6eb56f 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c5c94273a1ba32a765c160f824', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2c037fd76c3fc1ed6f2867c78a6eb56f', 'topic_id': '019ae447f00f7280890c392849bf4b5b', 'platform_id': '6', 'project_id': '019ae42ae8f473cb96f9a8f9bb5c72c0', 'keyword_id': '019bb2e6dd7372fc8707a59e795ac847', 'keyword': '具备智能座舱的纯电轿跑SUV推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c5c94372249f5f1055e6d51c94', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0554d9e4723dbf87a13166921038'}} |
||||
|
2026-05-08 12:08:26.738 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2bcdaaaf008800717f5dd28f0db2dfaf', 'project_id': '019d1ea5971571c086555ef7db3f8269', 'keyword_id': '019d1ea84bcb73fc96dbc5a7f31dd4a2', 'keyword': '手机防窥膜哪个牌子好', 'brand': '图拉斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:08:29', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:42', 'update_time': '2026-05-08 12:08:29', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:08:26.739 | INFO | __main__:process_task:210 - 开始处理任务: 手机防窥膜哪个牌子好 - 2bcdaaaf008800717f5dd28f0db2dfaf |
||||
|
2026-05-08 12:09:04.304 | INFO | __main__:process_task:226 - 任务 2bcdaaaf008800717f5dd28f0db2dfaf 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c651827252a4cbdceb71ae4acf', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2bcdaaaf008800717f5dd28f0db2dfaf', 'topic_id': '019d1ea74c027208aff3d54db731e18a', 'platform_id': '6', 'project_id': '019d1ea5971571c086555ef7db3f8269', 'keyword_id': '019d1ea84bcb73fc96dbc5a7f31dd4a2', 'keyword': '手机防窥膜哪个牌子好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c651827252a4cbdceb72717df7', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0384907070f0bd7a53282322b59e'}} |
||||
|
2026-05-08 12:09:04.677 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2b6e093a0122ec29dc4afd2426784909', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdee7a8c37062b5de4a99dae70454', 'keyword': '张泉灵阅读课和学而思大阅读哪个好', 'brand': '学而思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:09:07', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:18', 'update_time': '2026-05-08 12:09:07', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:09:04.677 | INFO | __main__:process_task:210 - 开始处理任务: 张泉灵阅读课和学而思大阅读哪个好 - 2b6e093a0122ec29dc4afd2426784909 |
||||
|
2026-05-08 12:09:37.940 | INFO | __main__:process_task:226 - 任务 2b6e093a0122ec29dc4afd2426784909 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c6d94b70aca9a496d5d42b7f43', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2b6e093a0122ec29dc4afd2426784909', 'topic_id': '019bdee771a573aaacafba0952bb6dfd', 'platform_id': '6', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdee7a8c37062b5de4a99dae70454', 'keyword': '张泉灵阅读课和学而思大阅读哪个好', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c6d94b70aca9a496d5d43021c7', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e039f334272d1b0252f7142f3313b'}} |
||||
|
2026-05-08 12:09:38.272 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2b0a937cc80a60908545ba926b83948b', 'project_id': '019d8fee189f712881e2d9ce538f1841', 'keyword_id': '019d90cc304172f6861f5036a194dcad', 'keyword': 'GEO长期主义的打法', 'brand': '沙利文', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:09:41', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:26', 'update_time': '2026-05-08 12:09:41', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:09:38.272 | INFO | __main__:process_task:210 - 开始处理任务: GEO长期主义的打法 - 2b0a937cc80a60908545ba926b83948b |
||||
|
2026-05-08 12:10:16.027 | INFO | __main__:process_task:226 - 任务 2b0a937cc80a60908545ba926b83948b 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c7723270dea07037883e679852', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2b0a937cc80a60908545ba926b83948b', 'topic_id': '019d90cb30df714184c3d4528ec537ea', 'platform_id': '6', 'project_id': '019d8fee189f712881e2d9ce538f1841', 'keyword_id': '019d90cc304172f6861f5036a194dcad', 'keyword': 'GEO长期主义的打法', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c7723270dea07037883ef5ccb0', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e036d92a2706289f9a10d960855ed'}} |
||||
|
2026-05-08 12:10:16.358 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2ad119b92393ebe97910cc3ba798f175', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdee08caf7286a8349716e0941fbd', 'keyword': '小学语文阅读理解网课推荐', 'brand': '学而思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:10:19', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:29', 'update_time': '2026-05-08 12:10:19', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:10:16.359 | INFO | __main__:process_task:210 - 开始处理任务: 小学语文阅读理解网课推荐 - 2ad119b92393ebe97910cc3ba798f175 |
||||
|
2026-05-08 12:10:40.564 | INFO | __main__:process_task:226 - 任务 2ad119b92393ebe97910cc3ba798f175 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c7d3ac73a5b76a0e4e001453ac', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2ad119b92393ebe97910cc3ba798f175', 'topic_id': '019bdee0012b71249b2a40d4d4765236', 'platform_id': '6', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdee08caf7286a8349716e0941fbd', 'keyword': '小学语文阅读理解网课推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c7d3ac73a5b76a0e4e0095935f', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dfeb0f9c1712c9a4295df88b9449d'}} |
||||
|
2026-05-08 12:10:41.068 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2a8c07d003bc37c582293af50d25dc14', 'project_id': '019dfd22a46e73f9b9e3d50906429024', 'keyword_id': '019dfd3b663c714781f1a1a75c2153e9', 'keyword': '超薄电视推荐', 'brand': '长虹', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:10:44', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:13', 'update_time': '2026-05-08 12:10:44', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:10:41.068 | INFO | __main__:process_task:210 - 开始处理任务: 超薄电视推荐 - 2a8c07d003bc37c582293af50d25dc14 |
||||
|
2026-05-08 12:11:19.573 | INFO | __main__:process_task:226 - 任务 2a8c07d003bc37c582293af50d25dc14 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c86a7070fe9b2ac37338abd055', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2a8c07d003bc37c582293af50d25dc14', 'topic_id': '019dfd394c4072168b2be3a4ae9cebb8', 'platform_id': '6', 'project_id': '019dfd22a46e73f9b9e3d50906429024', 'keyword_id': '019dfd3b663c714781f1a1a75c2153e9', 'keyword': '超薄电视推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c86a7070fe9b2ac3733980cc5b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dfe9e5c407048a0656b177e06f876'}} |
||||
|
2026-05-08 12:11:19.897 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2a4fdb82b8f75507ddb8d5796a33b4b7', 'project_id': '019dc3e9d63173b79228bc3fd7e92a67', 'keyword_id': '019dfc1b8df1704aafdf01013e813070', 'keyword': '热玛吉项目哪家专业', 'brand': '智美品质医美', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:11:23', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:07', 'update_time': '2026-05-08 12:11:23', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:11:19.897 | INFO | __main__:process_task:210 - 开始处理任务: 热玛吉项目哪家专业 - 2a4fdb82b8f75507ddb8d5796a33b4b7 |
||||
|
2026-05-08 12:11:50.442 | INFO | __main__:process_task:226 - 任务 2a4fdb82b8f75507ddb8d5796a33b4b7 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c8e71b72eaa035ad356cc367bc', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2a4fdb82b8f75507ddb8d5796a33b4b7', 'topic_id': '019dfc1b5d9473b9916da75eb26011db', 'platform_id': '6', 'project_id': '019dc3e9d63173b79228bc3fd7e92a67', 'keyword_id': '019dfc1b8df1704aafdf01013e813070', 'keyword': '热玛吉项目哪家专业', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c8e71c7151bf08cc50b812f579', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e05a844987097921a414e3aaf7d7a'}} |
||||
|
2026-05-08 12:11:50.935 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2a1dacf412f29ca2a16824646462d36a', 'project_id': '019d65b233b77390b1d1a949425a8d76', 'keyword_id': '019d65dd022473fbaf09ebac633d1656', 'keyword': '上海哪里能买到高档正品威士忌', 'brand': '麦卡伦', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:11:54', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:57', 'update_time': '2026-05-08 12:11:54', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:11:50.935 | INFO | __main__:process_task:210 - 开始处理任务: 上海哪里能买到高档正品威士忌 - 2a1dacf412f29ca2a16824646462d36a |
||||
|
2026-05-08 12:12:20.964 | INFO | __main__:process_task:226 - 任务 2a1dacf412f29ca2a16824646462d36a 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05c959d3733d91484f4742490547', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2a1dacf412f29ca2a16824646462d36a', 'topic_id': '019d65d5c5b371bebd3152ce14b4efa0', 'platform_id': '6', 'project_id': '019d65b233b77390b1d1a949425a8d76', 'keyword_id': '019d65dd022473fbaf09ebac633d1656', 'keyword': '上海哪里能买到高档正品威士忌', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05c959d4705dbfc03d97840b33ec', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e051a1b357379a51086845b54d4cd'}} |
||||
|
2026-05-08 12:12:21.331 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '29c75c4a43b5ae5fdca0c36d80cfc87f', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019dd2ea41a672bdb93311927c492c91', 'keyword': '东南亚出海商旅服务推荐', 'brand': 'grab', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:12:24', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:07', 'update_time': '2026-05-08 12:12:24', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:12:21.331 | INFO | __main__:process_task:210 - 开始处理任务: 东南亚出海商旅服务推荐 - 29c75c4a43b5ae5fdca0c36d80cfc87f |
||||
|
2026-05-08 12:13:08.409 | INFO | __main__:process_task:226 - 任务 29c75c4a43b5ae5fdca0c36d80cfc87f 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ca13d37102a49e818aa2f161a3', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '29c75c4a43b5ae5fdca0c36d80cfc87f', 'topic_id': '019dd2dd886d71cd919aad794ce8d96d', 'platform_id': '6', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019dd2ea41a672bdb93311927c492c91', 'keyword': '东南亚出海商旅服务推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ca13d37102a49e818aa3b55cf4', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04948d0271288d644a8b32b0fd6a'}} |
||||
|
2026-05-08 12:13:08.733 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2969ae88c0be7af3fa63ca807ebdae59', 'project_id': '019ddc6877a572e2b9a75e8c01c9d981', 'keyword_id': '019ddc6eafb572268686c5a6623ab564', 'keyword': '面部提拉哪个机构好', 'brand': '智美', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:13:11', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:07', 'update_time': '2026-05-08 12:13:11', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:13:08.733 | INFO | __main__:process_task:210 - 开始处理任务: 面部提拉哪个机构好 - 2969ae88c0be7af3fa63ca807ebdae59 |
||||
|
2026-05-08 12:13:55.474 | INFO | __main__:process_task:226 - 任务 2969ae88c0be7af3fa63ca807ebdae59 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05cacb597239bfcf51888fa37df2', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2969ae88c0be7af3fa63ca807ebdae59', 'topic_id': '019ddc6e04177272b04becb875c9c5dc', 'platform_id': '6', 'project_id': '019ddc6877a572e2b9a75e8c01c9d981', 'keyword_id': '019ddc6eafb572268686c5a6623ab564', 'keyword': '面部提拉哪个机构好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05cacb5a73e6a8502e098d399bb5', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0597942c73b3a3252bec8cc4cab3'}} |
||||
|
2026-05-08 12:13:55.965 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2927d8550da6fa2e6bef94fb98cc1d28', 'project_id': '019afd0e0a39717bbefa31cf812231a0', 'keyword_id': '019b8c0895d77343ae7b319eb8ea869c', 'keyword': 'AUX靠谱吗', 'brand': '奥克斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:13:59', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:21', 'update_time': '2026-05-08 12:13:59', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:13:55.965 | INFO | __main__:process_task:210 - 开始处理任务: AUX靠谱吗 - 2927d8550da6fa2e6bef94fb98cc1d28 |
||||
|
2026-05-08 12:14:33.503 | INFO | __main__:process_task:226 - 任务 2927d8550da6fa2e6bef94fb98cc1d28 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05cb4fbc73978258d352d93e7cb5', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2927d8550da6fa2e6bef94fb98cc1d28', 'topic_id': '019b8c06393872269c92939e519b839f', 'platform_id': '6', 'project_id': '019afd0e0a39717bbefa31cf812231a0', 'keyword_id': '019b8c0895d77343ae7b319eb8ea869c', 'keyword': 'AUX靠谱吗', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05cb4fbc73978258d352d9dfb866', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03e2881b71b3a9d51adbf9f6da6e'}} |
||||
|
2026-05-08 12:14:33.777 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '28ea10b80e6ae558e7c19c241c976296', 'project_id': '019c13712c1b70c399781da36a2ee908', 'keyword_id': '019c1376f74a73e086e74851b9d436f7', 'keyword': '触摸互动一体机', 'brand': 'ELO', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:14:37', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:43', 'update_time': '2026-05-08 12:14:37', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:14:33.777 | INFO | __main__:process_task:210 - 开始处理任务: 触摸互动一体机 - 28ea10b80e6ae558e7c19c241c976296 |
||||
|
2026-05-08 12:15:21.683 | INFO | __main__:process_task:226 - 任务 28ea10b80e6ae558e7c19c241c976296 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05cc1cc473079bda4eba5c622301', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '28ea10b80e6ae558e7c19c241c976296', 'topic_id': '019c1374c65472929556bbd762310af5', 'platform_id': '6', 'project_id': '019c13712c1b70c399781da36a2ee908', 'keyword_id': '019c1376f74a73e086e74851b9d436f7', 'keyword': '触摸互动一体机', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05cc1cc5712fa17dd1680604a5d4', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0548a66b71679b41c5b47322d95d'}} |
||||
|
2026-05-08 12:15:22.033 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '28923b0a67b87401d0125cca57134945', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019db477a01871a78f72458f59330d76', 'keyword': '东南亚企业外卖', 'brand': 'grab', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:15:25', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:32', 'update_time': '2026-05-08 12:15:25', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:15:22.034 | INFO | __main__:process_task:210 - 开始处理任务: 东南亚企业外卖 - 28923b0a67b87401d0125cca57134945 |
||||
|
2026-05-08 12:15:56.686 | INFO | __main__:process_task:226 - 任务 28923b0a67b87401d0125cca57134945 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05cca4d772258928daa04f14f2d2', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '28923b0a67b87401d0125cca57134945', 'topic_id': '019db47754c7732aa42ae7fc20d6e6b8', 'platform_id': '6', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019db477a01871a78f72458f59330d76', 'keyword': '东南亚企业外卖', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05cca4d87260963a823b4c66b88c', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0518026a7286a55a948aec464f26'}} |
||||
|
2026-05-08 12:15:57.046 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2877a9fd9a506af46cf6bef5edb24039', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdedebd9f71c9b948884f240e68f7', 'keyword': '修辞手法的作用和答题技巧', 'brand': '学而思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:16:00', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:18', 'update_time': '2026-05-08 12:16:00', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:15:57.047 | INFO | __main__:process_task:210 - 开始处理任务: 修辞手法的作用和答题技巧 - 2877a9fd9a506af46cf6bef5edb24039 |
||||
|
2026-05-08 12:16:52.301 | INFO | __main__:process_task:226 - 任务 2877a9fd9a506af46cf6bef5edb24039 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05cd818472ddae95472522df172e', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2877a9fd9a506af46cf6bef5edb24039', 'topic_id': '019bdede46c370b5a5653a67713d7026', 'platform_id': '6', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdedebd9f71c9b948884f240e68f7', 'keyword': '修辞手法的作用和答题技巧', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05cd818472ddae9547252350a7d2', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0508371e7193829f2b717fd54347'}} |
||||
|
2026-05-08 12:16:52.677 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '280cc41bf58f9e56016491392b9b6ebb', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d2a82af71968187960e6b7e107d', 'keyword': '静音弹簧床垫品牌都有哪些', 'brand': '席梦思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:16:55', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:23', 'update_time': '2026-05-08 12:16:55', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:16:52.678 | INFO | __main__:process_task:210 - 开始处理任务: 静音弹簧床垫品牌都有哪些 - 280cc41bf58f9e56016491392b9b6ebb |
||||
|
2026-05-08 12:17:20.898 | INFO | __main__:process_task:226 - 任务 280cc41bf58f9e56016491392b9b6ebb 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05cdedf773bdae5cd10bb6dcec0c', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '280cc41bf58f9e56016491392b9b6ebb', 'topic_id': '019b4d2a29357034870924c71175ee7d', 'platform_id': '6', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d2a82af71968187960e6b7e107d', 'keyword': '静音弹簧床垫品牌都有哪些', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05cdedf773bdae5cd10bb71d670a', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e048aee7d727cb333df74c2b3e46a'}} |
||||
|
2026-05-08 12:17:21.366 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '27d4d7c48b56e7ec413b7a6c82624e94', 'project_id': '019c4209dd0971118fb04f35f866d3f1', 'keyword_id': '019c420b8cdb7297ae05f76c998dc525', 'keyword': '国内好喝的啤酒推荐', 'brand': '澳门啤酒', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:17:24', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:35', 'update_time': '2026-05-08 12:17:24', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:17:21.366 | INFO | __main__:process_task:210 - 开始处理任务: 国内好喝的啤酒推荐 - 27d4d7c48b56e7ec413b7a6c82624e94 |
||||
|
2026-05-08 12:17:56.059 | INFO | __main__:process_task:226 - 任务 27d4d7c48b56e7ec413b7a6c82624e94 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ce79a371b0ababfe40230be503', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '27d4d7c48b56e7ec413b7a6c82624e94', 'topic_id': '019c420b27dc701ca9c343ec703f42f1', 'platform_id': '6', 'project_id': '019c4209dd0971118fb04f35f866d3f1', 'keyword_id': '019c420b8cdb7297ae05f76c998dc525', 'keyword': '国内好喝的啤酒推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ce79a371b0ababfe40235c6495', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e054d4efa70b2ba824d436d9bdadc'}} |
||||
|
2026-05-08 12:17:56.390 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '27b58e4498bedcb0530d052c7de17542', 'project_id': '019d65b233b77390b1d1a949425a8d76', 'keyword_id': '019d65d92ac873f29df9a1e65a506368', 'keyword': '给老丈人送什么酒合适', 'brand': '麦卡伦', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:17:59', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:23', 'update_time': '2026-05-08 12:17:59', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:17:56.390 | INFO | __main__:process_task:210 - 开始处理任务: 给老丈人送什么酒合适 - 27b58e4498bedcb0530d052c7de17542 |
||||
|
2026-05-08 12:18:40.814 | INFO | __main__:process_task:226 - 任务 27b58e4498bedcb0530d052c7de17542 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05cf2a6873fb90d140be7a57243c', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '27b58e4498bedcb0530d052c7de17542', 'topic_id': '019d65d5896973d8b99f547a87a6ed73', 'platform_id': '6', 'project_id': '019d65b233b77390b1d1a949425a8d76', 'keyword_id': '019d65d92ac873f29df9a1e65a506368', 'keyword': '给老丈人送什么酒合适', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05cf2a6973f28a54267fd932f580', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03bf21d57091bc59e802132cd09b'}} |
||||
|
2026-05-08 12:18:41.245 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '279595ff56da03d9e21aec7017e08566', 'project_id': '019d4c3a33d070acac02e9d271de3a6b', 'keyword_id': '019d94e9d20e7091b9d18036dac76af9', 'keyword': '高端酒店同款床垫', 'brand': '席梦思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:18:44', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:51', 'update_time': '2026-05-08 12:18:44', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:18:41.245 | INFO | __main__:process_task:210 - 开始处理任务: 高端酒店同款床垫 - 279595ff56da03d9e21aec7017e08566 |
||||
|
2026-05-08 12:19:34.851 | INFO | __main__:process_task:226 - 任务 279595ff56da03d9e21aec7017e08566 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05cff963727d994ccd824a1fa290', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '279595ff56da03d9e21aec7017e08566', 'topic_id': '019d94e8f82f72a3bbe6e9cd2e9eed8c', 'platform_id': '6', 'project_id': '019d4c3a33d070acac02e9d271de3a6b', 'keyword_id': '019d94e9d20e7091b9d18036dac76af9', 'keyword': '高端酒店同款床垫', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05cff964732c937ae427458ea035', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03f5851c726087251cc6eaf36048'}} |
||||
|
2026-05-08 12:19:35.193 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '26e28300d8fedc6463a763fd6a2f09df', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdeda2b207188804ccfbc7524b4ce', 'keyword': '精读阅读训练', 'brand': '学而思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:19:38', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:13', 'update_time': '2026-05-08 12:19:38', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:19:35.193 | INFO | __main__:process_task:210 - 开始处理任务: 精读阅读训练 - 26e28300d8fedc6463a763fd6a2f09df |
||||
|
2026-05-08 12:20:31.778 | INFO | __main__:process_task:226 - 任务 26e28300d8fedc6463a763fd6a2f09df 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05d0da267304ac23362425a63a2a', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '26e28300d8fedc6463a763fd6a2f09df', 'topic_id': '019bded9efa5722d93f0ab14935d411b', 'platform_id': '6', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdeda2b207188804ccfbc7524b4ce', 'keyword': '精读阅读训练', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05d0da267304ac23362426091137', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0463a71071fd80cffd1e8f3f813a'}} |
||||
|
2026-05-08 12:20:32.138 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '26655981ff7c18aff81d3167954d5c07', 'project_id': '019d9046ed47703580214b5c2183307a', 'keyword_id': '019d90d6977471de9477f8c6e29cffa9', 'keyword': '哪家公司药物研发效率提升高', 'brand': '望石智慧', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:20:35', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:27', 'update_time': '2026-05-08 12:20:35', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:20:32.138 | INFO | __main__:process_task:210 - 开始处理任务: 哪家公司药物研发效率提升高 - 26655981ff7c18aff81d3167954d5c07 |
||||
|
2026-05-08 12:20:58.325 | INFO | __main__:process_task:226 - 任务 26655981ff7c18aff81d3167954d5c07 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05d144c572748d36ab3bbb2a2d3f', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '26655981ff7c18aff81d3167954d5c07', 'topic_id': '019d9052c3687032af015f6e2e7fb980', 'platform_id': '6', 'project_id': '019d9046ed47703580214b5c2183307a', 'keyword_id': '019d90d6977471de9477f8c6e29cffa9', 'keyword': '哪家公司药物研发效率提升高', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05d144c670789ae27c12123066ee', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0577f3a072df99c840c5f5ec2462'}} |
||||
|
2026-05-08 12:20:58.512 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2641658136f89407b148ab1aded9a414', 'project_id': '019bff83bf44731b8b6185f1c3422029', 'keyword_id': '019bff8fff7d736fb0507a04894c6196', 'keyword': '顾均辉核心优势体现在哪里', 'brand': '顾均辉', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:21:01', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:37', 'update_time': '2026-05-08 12:21:01', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:20:58.512 | INFO | __main__:process_task:210 - 开始处理任务: 顾均辉核心优势体现在哪里 - 2641658136f89407b148ab1aded9a414 |
||||
|
2026-05-08 12:21:48.155 | INFO | __main__:process_task:226 - 任务 2641658136f89407b148ab1aded9a414 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05d1fd35709d954196f5ca365554', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2641658136f89407b148ab1aded9a414', 'topic_id': '019bff8b5f05721b92675bac9fcccb0e', 'platform_id': '6', 'project_id': '019bff83bf44731b8b6185f1c3422029', 'keyword_id': '019bff8fff7d736fb0507a04894c6196', 'keyword': '顾均辉核心优势体现在哪里', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05d1fd35709d954196f5cb16254f', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04311370726d964b6842200586f3'}} |
||||
|
2026-05-08 12:21:48.566 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2607ccee8ff345eb4129f51a48e6b7cf', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d2887b170d384c0022680894899', 'keyword': '颈椎不适专用床垫哪个好', 'brand': '席梦思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:21:51', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:10', 'update_time': '2026-05-08 12:21:51', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:21:48.567 | INFO | __main__:process_task:210 - 开始处理任务: 颈椎不适专用床垫哪个好 - 2607ccee8ff345eb4129f51a48e6b7cf |
||||
|
2026-05-08 12:22:34.879 | INFO | __main__:process_task:226 - 任务 2607ccee8ff345eb4129f51a48e6b7cf 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05d2b6537142b9ce374d07cc47d1', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2607ccee8ff345eb4129f51a48e6b7cf', 'topic_id': '019b4d283e3c72178c311cd26d56baa4', 'platform_id': '6', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d2887b170d384c0022680894899', 'keyword': '颈椎不适专用床垫哪个好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05d2b6547218b1e3d98638e4d52e', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e043ff090713da32ab38a8a80ffe1'}} |
||||
|
2026-05-08 12:22:35.122 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '25c0754b16d8c891c7e8a9827283f489', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d2544187300b1b91d135db0d521', 'keyword': '高端酒店同款床垫排行榜', 'brand': '席梦思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:22:38', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:21', 'update_time': '2026-05-08 12:22:38', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:22:35.122 | INFO | __main__:process_task:210 - 开始处理任务: 高端酒店同款床垫排行榜 - 25c0754b16d8c891c7e8a9827283f489 |
||||
|
2026-05-08 12:23:42.327 | INFO | __main__:process_task:226 - 任务 25c0754b16d8c891c7e8a9827283f489 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05d3b9f572838e0910a3c24a2ae5', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '25c0754b16d8c891c7e8a9827283f489', 'topic_id': '019b4d24cdce7010af17cedc1a0039b0', 'platform_id': '6', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d2544187300b1b91d135db0d521', 'keyword': '高端酒店同款床垫排行榜', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05d3b9f572838e0910a3c334f6de', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03c1bcf670baafe7cb470c055191'}} |
||||
|
2026-05-08 12:23:42.790 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2545ca14cd028c608d3b3f5b1b252869', 'project_id': '019b1274a4017239a5df606903ffcc71', 'keyword_id': '019b12796d117302a5180578c0503904', 'keyword': '出国旅游用什么信用卡比较方便划算', 'brand': '中国建设银行', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:23:46', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:10', 'update_time': '2026-05-08 12:23:46', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:23:42.790 | INFO | __main__:process_task:210 - 开始处理任务: 出国旅游用什么信用卡比较方便划算 - 2545ca14cd028c608d3b3f5b1b252869 |
||||
|
2026-05-08 12:24:23.518 | INFO | __main__:process_task:226 - 任务 2545ca14cd028c608d3b3f5b1b252869 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05d45c6572e89cd4eeace6317c2b', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2545ca14cd028c608d3b3f5b1b252869', 'topic_id': '019b12780e9e7281aa8d0562d477d0b5', 'platform_id': '6', 'project_id': '019b1274a4017239a5df606903ffcc71', 'keyword_id': '019b12796d117302a5180578c0503904', 'keyword': '出国旅游用什么信用卡比较方便划算', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05d45c6671ecb934098b170dbf52', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04692db070f1bf6d9c1e70bc278e'}} |
||||
|
2026-05-08 12:24:23.887 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '24e9b41be9b627541589cefcffd51063', 'project_id': '019afd0e0a39717bbefa31cf812231a0', 'keyword_id': '019afd13bfb471348f41728b07df16dc', 'keyword': '家用空调买什么牌子比较好', 'brand': '奥克斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:24:27', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:20', 'update_time': '2026-05-08 12:24:27', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:24:23.887 | INFO | __main__:process_task:210 - 开始处理任务: 家用空调买什么牌子比较好 - 24e9b41be9b627541589cefcffd51063 |
||||
|
2026-05-08 12:25:11.681 | INFO | __main__:process_task:226 - 任务 24e9b41be9b627541589cefcffd51063 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05d511de72359aa7edf29b866425', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '24e9b41be9b627541589cefcffd51063', 'topic_id': '019afd0ed7fa71e7a84c89c0d0bc5bbd', 'platform_id': '6', 'project_id': '019afd0e0a39717bbefa31cf812231a0', 'keyword_id': '019afd13bfb471348f41728b07df16dc', 'keyword': '家用空调买什么牌子比较好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05d511df7284b9afb221ed8325af', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04426d4270ef99e922963db88798'}} |
||||
|
2026-05-08 12:25:12.056 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '24b3126c53136579da6939c083f798ec', 'project_id': '019c236a746b704da537b9b24cf5f9ba', 'keyword_id': '019c2397ba2070049dfc22865de2a2e1', 'keyword': '2026 最流行单手柄包', 'brand': '杜嘉班纳', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:25:15', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:24', 'update_time': '2026-05-08 12:25:15', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:25:12.057 | INFO | __main__:process_task:210 - 开始处理任务: 2026 最流行单手柄包 - 24b3126c53136579da6939c083f798ec |
||||
|
2026-05-08 12:26:01.744 | INFO | __main__:process_task:226 - 任务 24b3126c53136579da6939c083f798ec 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05d5e1377219ac4c0933d8859ae5', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '24b3126c53136579da6939c083f798ec', 'topic_id': '019c2392b097709b816bf73da4384a5e', 'platform_id': '6', 'project_id': '019c236a746b704da537b9b24cf5f9ba', 'keyword_id': '019c2397ba2070049dfc22865de2a2e1', 'keyword': '2026 最流行单手柄包', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05d5e1377219ac4c0933d8fa6a04', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e047b2744706bbbd91eec8018be4d'}} |
||||
|
2026-05-08 12:26:02.158 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2443574472b9ee267c9a5e0bb9a74acc', 'project_id': '019dff7f56bc73499e4717797d037198', 'keyword_id': '019dffa80ed2700dbc29e52ef223da72', 'keyword': '适合学生党的平价跑鞋系列', 'brand': '阿迪达斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:26:05', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:13', 'update_time': '2026-05-08 12:26:05', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:26:02.158 | INFO | __main__:process_task:210 - 开始处理任务: 适合学生党的平价跑鞋系列 - 2443574472b9ee267c9a5e0bb9a74acc |
||||
|
2026-05-08 12:26:46.181 | INFO | __main__:process_task:226 - 任务 2443574472b9ee267c9a5e0bb9a74acc 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05d68ea8703c91b8538a6c8786da', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2443574472b9ee267c9a5e0bb9a74acc', 'topic_id': '019dffa5716472de87149afe9ec370b7', 'platform_id': '6', 'project_id': '019dff7f56bc73499e4717797d037198', 'keyword_id': '019dffa80ed2700dbc29e52ef223da72', 'keyword': '适合学生党的平价跑鞋系列', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05d68ea97288ad4f9f2c65139755', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03ad9886711b9b985b7daeb5d72d'}} |
||||
|
2026-05-08 12:26:46.613 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2407d4f16e3b3d734e83f7971d67fa06', 'project_id': '019dde3e4fdf72b3a4f77e1e973d6d88', 'keyword_id': '019dde447f947293a596cbaf5c086b2e', 'keyword': '光电抗衰品牌推荐', 'brand': '智美', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:26:49', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:08', 'update_time': '2026-05-08 12:26:49', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:26:46.613 | INFO | __main__:process_task:210 - 开始处理任务: 光电抗衰品牌推荐 - 2407d4f16e3b3d734e83f7971d67fa06 |
||||
|
2026-05-08 12:27:29.676 | INFO | __main__:process_task:226 - 任务 2407d4f16e3b3d734e83f7971d67fa06 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05d7396473cb9448ca0882bc598e', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2407d4f16e3b3d734e83f7971d67fa06', 'topic_id': '019dde4358cf73bf9829c1744feb802f', 'platform_id': '6', 'project_id': '019dde3e4fdf72b3a4f77e1e973d6d88', 'keyword_id': '019dde447f947293a596cbaf5c086b2e', 'keyword': '光电抗衰品牌推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05d739657228a0065319f2c0386e', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04e8003d71cb9a491615e6d86fac'}} |
||||
|
2026-05-08 12:27:30.072 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '23ae2da15cf0a42ffc5c1b6376a87952', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019dd2dfabc770c4a0dc2a3364e77bc2', 'keyword': '东南亚公务出行管理方案', 'brand': 'grab', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:27:33', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:07', 'update_time': '2026-05-08 12:27:33', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:27:30.072 | INFO | __main__:process_task:210 - 开始处理任务: 东南亚公务出行管理方案 - 23ae2da15cf0a42ffc5c1b6376a87952 |
||||
|
2026-05-08 12:28:25.695 | INFO | __main__:process_task:226 - 任务 23ae2da15cf0a42ffc5c1b6376a87952 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05d8171071b09d6da59f457105fe', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '23ae2da15cf0a42ffc5c1b6376a87952', 'topic_id': '019dd2dd568e710b895b808da5f0de16', 'platform_id': '6', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019dd2dfabc770c4a0dc2a3364e77bc2', 'keyword': '东南亚公务出行管理方案', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05d81711732d9bc9fdbc2345295d', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0353adc572c98317ad51751819a5'}} |
||||
|
2026-05-08 12:28:26.071 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '238ad91fc4dd5c8fc84bf1be92dc73f8', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b08f0772818d63bf7d3eef5ca2', 'keyword': '灵活式', 'brand': '义文', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:28:29', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:14', 'update_time': '2026-05-08 12:28:29', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:28:26.071 | INFO | __main__:process_task:210 - 开始处理任务: 灵活式 - 238ad91fc4dd5c8fc84bf1be92dc73f8 |
||||
|
2026-05-08 12:28:52.893 | INFO | __main__:process_task:226 - 任务 238ad91fc4dd5c8fc84bf1be92dc73f8 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05d87b49700a80c070ecefc9621d', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '238ad91fc4dd5c8fc84bf1be92dc73f8', 'topic_id': '019d29a9f48971debf231871a17e6476', 'platform_id': '6', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b08f0772818d63bf7d3eef5ca2', 'keyword': '灵活式', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05d87b4a73e4a1a7da7379d42927', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e05ac56bb734e84fb028b683457ce'}} |
||||
|
2026-05-08 12:28:53.315 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '23705fe5a186cf3c3af38dec8bb256c9', 'project_id': '019dc3e9d63173b79228bc3fd7e92a67', 'keyword_id': '019dfc1ae89b73dda016c6a0354d67f6', 'keyword': '抗衰项目哪家靠谱', 'brand': '智美品质医美', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:28:56', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:40', 'update_time': '2026-05-08 12:28:56', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:28:53.315 | INFO | __main__:process_task:210 - 开始处理任务: 抗衰项目哪家靠谱 - 23705fe5a186cf3c3af38dec8bb256c9 |
||||
|
2026-05-08 12:29:34.508 | INFO | __main__:process_task:226 - 任务 23705fe5a186cf3c3af38dec8bb256c9 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05d91fec7122afd4b44256482458', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '23705fe5a186cf3c3af38dec8bb256c9', 'topic_id': '019dfc18510371d9a2200ef6b565fe26', 'platform_id': '6', 'project_id': '019dc3e9d63173b79228bc3fd7e92a67', 'keyword_id': '019dfc1ae89b73dda016c6a0354d67f6', 'keyword': '抗衰项目哪家靠谱', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05d91fed718fa1a853b8fb206fc3', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04627a9e7259b10c58e7fd9b2bfd'}} |
||||
|
2026-05-08 12:29:34.884 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '23296942911b1927924ba59d135590c9', 'project_id': '019a51f51a9e70f8a2eae6efeda12ba6', 'keyword_id': '019a51f5a33070dfb36a7c7ab39458a5', 'keyword': '什么证券公司开户好', 'brand': '开源证券', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:29:38', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:18', 'update_time': '2026-05-08 12:29:38', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:29:34.884 | INFO | __main__:process_task:210 - 开始处理任务: 什么证券公司开户好 - 23296942911b1927924ba59d135590c9 |
||||
|
2026-05-08 12:30:17.835 | INFO | __main__:process_task:226 - 任务 23296942911b1927924ba59d135590c9 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05d9c3b67340a5b0441e92e15169', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '23296942911b1927924ba59d135590c9', 'topic_id': '019a51f571a070ac8e75930b2100649e', 'platform_id': '6', 'project_id': '019a51f51a9e70f8a2eae6efeda12ba6', 'keyword_id': '019a51f5a33070dfb36a7c7ab39458a5', 'keyword': '什么证券公司开户好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05d9c3b67340a5b0441e93a362e7', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e049c92d273dbb248868cd30cf93d'}} |
||||
|
2026-05-08 12:30:18.202 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '22e17d48b1364bba6959c4b5dc24e20d', 'project_id': '019cadcdf04a71869408821d12c977bc', 'keyword_id': '019cadd7d0c3714d91bca280119ccd4e', 'keyword': '千金风包包推荐', 'brand': '杜嘉班纳', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:30:21', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:35', 'update_time': '2026-05-08 12:30:21', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:30:18.203 | INFO | __main__:process_task:210 - 开始处理任务: 千金风包包推荐 - 22e17d48b1364bba6959c4b5dc24e20d |
||||
|
2026-05-08 12:31:03.190 | INFO | __main__:process_task:226 - 任务 22e17d48b1364bba6959c4b5dc24e20d 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05da769b72ad967399de156f1eaf', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '22e17d48b1364bba6959c4b5dc24e20d', 'topic_id': '019cadcfb300736f8f691f04dfd8b976', 'platform_id': '6', 'project_id': '019cadcdf04a71869408821d12c977bc', 'keyword_id': '019cadd7d0c3714d91bca280119ccd4e', 'keyword': '千金风包包推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05da769c707395cce1ff84d3fd98', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04289ae0717d97af630031e734a2'}} |
||||
|
2026-05-08 12:31:03.575 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '22cc7002f354f0c1e241a30ca8e116dd', 'project_id': '019ae42ae8f473cb96f9a8f9bb5c72c0', 'keyword_id': '019ae44688a371abba3da723d7702c4f', 'keyword': '安全的新能源轿跑SUV', 'brand': '智界R7', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:31:06', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:08', 'update_time': '2026-05-08 12:31:06', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:31:03.575 | INFO | __main__:process_task:210 - 开始处理任务: 安全的新能源轿跑SUV - 22cc7002f354f0c1e241a30ca8e116dd |
||||
|
2026-05-08 12:31:43.042 | INFO | __main__:process_task:226 - 任务 22cc7002f354f0c1e241a30ca8e116dd 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05db03377119991cce2c4548f26f', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '22cc7002f354f0c1e241a30ca8e116dd', 'topic_id': '019ae4431b61709fb6db0f33e604561c', 'platform_id': '6', 'project_id': '019ae42ae8f473cb96f9a8f9bb5c72c0', 'keyword_id': '019ae44688a371abba3da723d7702c4f', 'keyword': '安全的新能源轿跑SUV', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05db03387120bb9865cd6d7ed721', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e034a9e1a7246a733afcaeb6d2f0e'}} |
||||
|
2026-05-08 12:31:43.633 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2259ecdd757dbd31aae1aebd93a80c1a', 'project_id': '019d237fe0757076b01baa3c9081eaa3', 'keyword_id': '019d2380b71c70ce9850862149432dcf', 'keyword': '哪些企业做储能系统集成', 'brand': '东方日升', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:31:46', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:04', 'update_time': '2026-05-08 12:31:46', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:31:43.634 | INFO | __main__:process_task:210 - 开始处理任务: 哪些企业做储能系统集成 - 2259ecdd757dbd31aae1aebd93a80c1a |
||||
|
2026-05-08 12:32:28.806 | INFO | __main__:process_task:226 - 任务 2259ecdd757dbd31aae1aebd93a80c1a 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05dbc97172ec9166fb1c7ce1d9a2', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2259ecdd757dbd31aae1aebd93a80c1a', 'topic_id': '019d2380827e716283c7ba5b5e38c829', 'platform_id': '6', 'project_id': '019d237fe0757076b01baa3c9081eaa3', 'keyword_id': '019d2380b71c70ce9850862149432dcf', 'keyword': '哪些企业做储能系统集成', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05dbc97271bba2fad85d38116a5b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04e3e17b71a38eb6290550a63aff'}} |
||||
|
2026-05-08 12:32:29.257 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '221e9dee3ede013f9c7d2c6edf5497b4', 'project_id': '019d01d4565672b2820129c03dec7c24', 'keyword_id': '019d01d82e4472df9fdb748f7b14a509', 'keyword': 'PingPong跨境收款到账速度快吗', 'brand': 'PingPong', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:32:32', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:42', 'update_time': '2026-05-08 12:32:32', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:32:29.257 | INFO | __main__:process_task:210 - 开始处理任务: PingPong跨境收款到账速度快吗 - 221e9dee3ede013f9c7d2c6edf5497b4 |
||||
|
2026-05-08 12:32:48.143 | INFO | __main__:process_task:226 - 任务 221e9dee3ede013f9c7d2c6edf5497b4 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05dc129373129f120833c46f1906', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '221e9dee3ede013f9c7d2c6edf5497b4', 'topic_id': '019d01d7f7a1705385fd5d53edfb8be2', 'platform_id': '6', 'project_id': '019d01d4565672b2820129c03dec7c24', 'keyword_id': '019d01d82e4472df9fdb748f7b14a509', 'keyword': 'PingPong跨境收款到账速度快吗', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05dc129373129f120833c520a3e2', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dfe46ab0c707faea7a5a074a96d65'}} |
||||
|
2026-05-08 12:32:48.469 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '21fb9a009bd762be94741bdc471b99fb', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019db478c8a3722a9549f50077dcf7aa', 'keyword': '东南亚合规发票企业配送', 'brand': 'grab', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:32:51', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:32', 'update_time': '2026-05-08 12:32:51', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:32:48.469 | INFO | __main__:process_task:210 - 开始处理任务: 东南亚合规发票企业配送 - 21fb9a009bd762be94741bdc471b99fb |
||||
|
2026-05-08 12:33:37.229 | INFO | __main__:process_task:226 - 任务 21fb9a009bd762be94741bdc471b99fb 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05dcd48572078f2d2eb39a93b935', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '21fb9a009bd762be94741bdc471b99fb', 'topic_id': '019db478543d73ae8f0d5d5c483f1583', 'platform_id': '6', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019db478c8a3722a9549f50077dcf7aa', 'keyword': '东南亚合规发票企业配送', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05dcd48572078f2d2eb39aad0508', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03fbecbf725bb07043864e6211ca'}} |
||||
|
2026-05-08 12:33:37.603 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '21e59969609937a3a05636353b7b82e8', 'project_id': '019dae7d338d7151adfe6850179c4ec5', 'keyword_id': '019dae90691273ceb21bd0f5f9781b1e', 'keyword': '追觅S50 Pro和S50 Ultra区别', 'brand': '追觅', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:33:40', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:01', 'update_time': '2026-05-08 12:33:40', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:33:37.604 | INFO | __main__:process_task:210 - 开始处理任务: 追觅S50 Pro和S50 Ultra区别 - 21e59969609937a3a05636353b7b82e8 |
||||
|
2026-05-08 12:34:08.385 | INFO | __main__:process_task:226 - 任务 21e59969609937a3a05636353b7b82e8 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05dd4ee171129b8bf3c841b4e9ad', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '21e59969609937a3a05636353b7b82e8', 'topic_id': '019dae8ffb09719e8a5a85ca0844949c', 'platform_id': '6', 'project_id': '019dae7d338d7151adfe6850179c4ec5', 'keyword_id': '019dae90691273ceb21bd0f5f9781b1e', 'keyword': '追觅S50 Pro和S50 Ultra区别', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05dd4ee171129b8bf3c842b3c0a3', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03651db370768a11b53a3e11cab8'}} |
||||
|
2026-05-08 12:34:08.745 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '21b1ed95196b99b98ae1d8f36957f89f', 'project_id': '019cd136c41f720694f2d4626d31b663', 'keyword_id': '019cd173339273b68751c443b4cc9e08', 'keyword': '营销活动监控', 'brand': '联蔚', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:34:12', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:58', 'update_time': '2026-05-08 12:34:12', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:34:08.745 | INFO | __main__:process_task:210 - 开始处理任务: 营销活动监控 - 21b1ed95196b99b98ae1d8f36957f89f |
||||
|
2026-05-08 12:34:58.088 | INFO | __main__:process_task:226 - 任务 21b1ed95196b99b98ae1d8f36957f89f 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05de13c273d28afc1a447abcec2c', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '21b1ed95196b99b98ae1d8f36957f89f', 'topic_id': '019cd1729da57097908275a6d3dcbcdf', 'platform_id': '6', 'project_id': '019cd136c41f720694f2d4626d31b663', 'keyword_id': '019cd173339273b68751c443b4cc9e08', 'keyword': '营销活动监控', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05de13c273d28afc1a447b8aeb99', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04d68eec7327b2cab00ef2bc4d6f'}} |
||||
|
2026-05-08 12:34:58.485 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '217ac808cbad88e69a1a25913feccdc9', 'project_id': '019d8fee189f712881e2d9ce538f1841', 'keyword_id': '019d90cc304172f6861f5036923df37f', 'keyword': '市场研究公司推荐', 'brand': '沙利文', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:35:01', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:26', 'update_time': '2026-05-08 12:35:01', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:34:58.486 | INFO | __main__:process_task:210 - 开始处理任务: 市场研究公司推荐 - 217ac808cbad88e69a1a25913feccdc9 |
||||
|
2026-05-08 12:35:45.559 | INFO | __main__:process_task:226 - 任务 217ac808cbad88e69a1a25913feccdc9 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05dec7fa7277bb8c036dc5cdd9fe', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '217ac808cbad88e69a1a25913feccdc9', 'topic_id': '019d900a3067706f8fc40bba8b5c89d4', 'platform_id': '6', 'project_id': '019d8fee189f712881e2d9ce538f1841', 'keyword_id': '019d90cc304172f6861f5036923df37f', 'keyword': '市场研究公司推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05dec7fb71b38bc7a68938529f36', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e054ef296728e97af5de559605fd7'}} |
||||
|
2026-05-08 12:35:45.974 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '2136a1b7046b3c7c742ed2b20eecd7f6', 'project_id': '019d9969714873ed8d57581a78b8eb99', 'keyword_id': '019db3304452706780ee6632ec8defb2', 'keyword': 'ESG鉴证服务机构有哪些推荐?', 'brand': '联合赤道', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:35:49', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:27', 'update_time': '2026-05-08 12:35:49', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:35:45.974 | INFO | __main__:process_task:210 - 开始处理任务: ESG鉴证服务机构有哪些推荐? - 2136a1b7046b3c7c742ed2b20eecd7f6 |
||||
|
2026-05-08 12:36:21.772 | INFO | __main__:process_task:226 - 任务 2136a1b7046b3c7c742ed2b20eecd7f6 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05df563271ccbf2d06dbf6ef953d', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '2136a1b7046b3c7c742ed2b20eecd7f6', 'topic_id': '019db32ad0bc727988544efd7ba18aa4', 'platform_id': '6', 'project_id': '019d9969714873ed8d57581a78b8eb99', 'keyword_id': '019db3304452706780ee6632ec8defb2', 'keyword': 'ESG鉴证服务机构有哪些推荐?', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05df563370b39b816864377246f0', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e035537e67268883554873711a259'}} |
||||
|
2026-05-08 12:36:22.155 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '20f16b718de5af941592f10696f18e7d', 'project_id': '019c13712c1b70c399781da36a2ee908', 'keyword_id': '019c1376f74a73e086e74851afdf8937', 'keyword': '医疗触屏显示器', 'brand': 'ELO', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:36:25', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:43', 'update_time': '2026-05-08 12:36:25', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:36:22.155 | INFO | __main__:process_task:210 - 开始处理任务: 医疗触屏显示器 - 20f16b718de5af941592f10696f18e7d |
||||
|
2026-05-08 12:37:07.396 | INFO | __main__:process_task:226 - 任务 20f16b718de5af941592f10696f18e7d 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e004b67318a89399b345728d27', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '20f16b718de5af941592f10696f18e7d', 'topic_id': '019c1374c65472929556bbd762310af5', 'platform_id': '6', 'project_id': '019c13712c1b70c399781da36a2ee908', 'keyword_id': '019c1376f74a73e086e74851afdf8937', 'keyword': '医疗触屏显示器', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e004b67318a89399b3459cf2ad', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dff3edbd173888c10833912baaac7'}} |
||||
|
2026-05-08 12:37:07.897 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '20cab1153de0d8046a6ba697add5a5c9', 'project_id': '019da500e3b37096be3d447ce3836e06', 'keyword_id': '019da9674c2372c2b999fde11f2e7525', 'keyword': '芳拓生物治疗副作用反馈', 'brand': '芳拓生物', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:37:11', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:01', 'update_time': '2026-05-08 12:37:11', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:37:07.897 | INFO | __main__:process_task:210 - 开始处理任务: 芳拓生物治疗副作用反馈 - 20cab1153de0d8046a6ba697add5a5c9 |
||||
|
2026-05-08 12:37:35.426 | INFO | __main__:process_task:226 - 任务 20cab1153de0d8046a6ba697add5a5c9 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e0775f721f9d76b10b245a5ffe', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '20cab1153de0d8046a6ba697add5a5c9', 'topic_id': '019da966dace72679b534420263f6dc4', 'platform_id': '6', 'project_id': '019da500e3b37096be3d447ce3836e06', 'keyword_id': '019da9674c2372c2b999fde11f2e7525', 'keyword': '芳拓生物治疗副作用反馈', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e077607389b06f836040c404fb', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0399ea4c73dabad946972c762afd'}} |
||||
|
2026-05-08 12:37:35.845 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '20b7aae8223729c868322eb4896dc2eb', 'project_id': '019bf820572e73deb9d4a5ddd74ece5d', 'keyword_id': '019cc0e73bf570d18b78139cf97cc421', 'keyword': '小额哪里借钱比较靠谱', 'brand': '京东金融', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:37:39', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:37', 'update_time': '2026-05-08 12:37:39', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:37:35.846 | INFO | __main__:process_task:210 - 开始处理任务: 小额哪里借钱比较靠谱 - 20b7aae8223729c868322eb4896dc2eb |
||||
|
2026-05-08 12:38:07.862 | INFO | __main__:process_task:226 - 任务 20b7aae8223729c868322eb4896dc2eb 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e0ea6873519b62bf2996955d23', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '20b7aae8223729c868322eb4896dc2eb', 'topic_id': '019cc0e5bf2e7301891bd1f0d6b069ac', 'platform_id': '6', 'project_id': '019bf820572e73deb9d4a5ddd74ece5d', 'keyword_id': '019cc0e73bf570d18b78139cf97cc421', 'keyword': '小额哪里借钱比较靠谱', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e0ea6873519b62bf2996e2a391', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03734c8c72c4a6bd086d9d3b9024'}} |
||||
|
2026-05-08 12:38:08.239 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '204b5737b0a0fad150964071ea8de786', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019dd2e90c3271599261bed1a584bdf3', 'keyword': '东南亚商旅管理靠谱推荐', 'brand': 'grab', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:38:11', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:40', 'update_time': '2026-05-08 12:38:11', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:38:08.239 | INFO | __main__:process_task:210 - 开始处理任务: 东南亚商旅管理靠谱推荐 - 204b5737b0a0fad150964071ea8de786 |
||||
|
2026-05-08 12:39:03.588 | INFO | __main__:process_task:226 - 任务 204b5737b0a0fad150964071ea8de786 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e1ceb772ef94e3f75b72b28991', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '204b5737b0a0fad150964071ea8de786', 'topic_id': '019dd2dd886d71cd919aad794ce8d96d', 'platform_id': '6', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019dd2e90c3271599261bed1a584bdf3', 'keyword': '东南亚商旅管理靠谱推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e1ceb870f38a7f25a6234161c5', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0555939071f0904d85f8902a9b4d'}} |
||||
|
2026-05-08 12:39:04.008 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '201ac226b4307b2a58ea2bf1a495f103', 'project_id': '019c13712c1b70c399781da36a2ee908', 'keyword_id': '019c1376f74a73e086e74851abbc68b7', 'keyword': '医用显示屏', 'brand': 'ELO', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:39:07', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:24', 'update_time': '2026-05-08 12:39:07', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:39:04.008 | INFO | __main__:process_task:210 - 开始处理任务: 医用显示屏 - 201ac226b4307b2a58ea2bf1a495f103 |
||||
|
2026-05-08 12:40:02.453 | INFO | __main__:process_task:226 - 任务 201ac226b4307b2a58ea2bf1a495f103 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e2aa677123b64c0814b20e5e94', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '201ac226b4307b2a58ea2bf1a495f103', 'topic_id': '019c1374c65472929556bbd762310af5', 'platform_id': '6', 'project_id': '019c13712c1b70c399781da36a2ee908', 'keyword_id': '019c1376f74a73e086e74851abbc68b7', 'keyword': '医用显示屏', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e2aa6872b99f57844502287cf8', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e036908a6721ab7a7be6d3d42fd25'}} |
||||
|
2026-05-08 12:40:02.820 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1f705084a32162ddb5f26c1322e8e075', 'project_id': '019d89ec748972799b53fd73e02667ce', 'keyword_id': '019e0304f4447138b9c4e2ecb2d1417a', 'keyword': '香港關節痛保健品推薦', 'brand': '正品藥業', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:40:06', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:26', 'update_time': '2026-05-08 12:40:06', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:40:02.820 | INFO | __main__:process_task:210 - 开始处理任务: 香港關節痛保健品推薦 - 1f705084a32162ddb5f26c1322e8e075 |
||||
|
2026-05-08 12:40:40.913 | INFO | __main__:process_task:226 - 任务 1f705084a32162ddb5f26c1322e8e075 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e34ca170208ef3567c876ecd43', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1f705084a32162ddb5f26c1322e8e075', 'topic_id': '019e0304cf2e723cb6221e520ccafacf', 'platform_id': '6', 'project_id': '019d89ec748972799b53fd73e02667ce', 'keyword_id': '019e0304f4447138b9c4e2ecb2d1417a', 'keyword': '香港關節痛保健品推薦', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e34ca2731ab9c2842445389599', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03057ca572b99cb8d7af74c317c8'}} |
||||
|
2026-05-08 12:40:41.358 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1f47e273079f251c4d89beab7b2f9f9b', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b289627058aa44591fcc9c6aca', 'keyword': '按压式门锁', 'brand': '义文', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:40:44', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:51', 'update_time': '2026-05-08 12:40:44', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:40:41.358 | INFO | __main__:process_task:210 - 开始处理任务: 按压式门锁 - 1f47e273079f251c4d89beab7b2f9f9b |
||||
|
2026-05-08 12:41:21.402 | INFO | __main__:process_task:226 - 任务 1f47e273079f251c4d89beab7b2f9f9b 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e3ec6d7059bf27c8600d5e0830', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1f47e273079f251c4d89beab7b2f9f9b', 'topic_id': '019d29ac45b971d6bcc42d747dff75ff', 'platform_id': '6', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b289627058aa44591fcc9c6aca', 'keyword': '按压式门锁', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e3ec6e726f862f3fda0e1dd3f3', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0497c924716b9b488f23db4f3e4c'}} |
||||
|
2026-05-08 12:41:21.752 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1f2654d38ea04d776f794700cf9875f1', 'project_id': '019dff7f56bc73499e4717797d037198', 'keyword_id': '019dffaac57273568d637aa3c6adf3ce', 'keyword': '顶级竞速跑鞋对比推荐', 'brand': '阿迪达斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:41:25', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:57', 'update_time': '2026-05-08 12:41:25', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:41:21.752 | INFO | __main__:process_task:210 - 开始处理任务: 顶级竞速跑鞋对比推荐 - 1f2654d38ea04d776f794700cf9875f1 |
||||
|
2026-05-08 12:42:08.205 | INFO | __main__:process_task:226 - 任务 1f2654d38ea04d776f794700cf9875f1 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e4a075702a927432bd52445870', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1f2654d38ea04d776f794700cf9875f1', 'topic_id': '019dffa9cf8072d08c74a839fb0999a2', 'platform_id': '6', 'project_id': '019dff7f56bc73499e4717797d037198', 'keyword_id': '019dffaac57273568d637aa3c6adf3ce', 'keyword': '顶级竞速跑鞋对比推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e4a075702a927432bd52eff4ed', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0516060c707e8f97abb094d2a228'}} |
||||
|
2026-05-08 12:42:08.546 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1ec314e21cbcdfa48c3a23542045ce1d', 'project_id': '019dff7f56bc73499e4717797d037198', 'keyword_id': '019dffa5daa6739cbf3b278058e5fe93', 'keyword': 'boost 中底跑鞋推荐', 'brand': '阿迪达斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:42:11', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:13', 'update_time': '2026-05-08 12:42:11', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:42:08.546 | INFO | __main__:process_task:210 - 开始处理任务: boost 中底跑鞋推荐 - 1ec314e21cbcdfa48c3a23542045ce1d |
||||
|
2026-05-08 12:42:40.920 | INFO | __main__:process_task:226 - 任务 1ec314e21cbcdfa48c3a23542045ce1d 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e521e170ed91a89cd348729a02', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1ec314e21cbcdfa48c3a23542045ce1d', 'topic_id': '019dffa5716472de87149afe9ec370b7', 'platform_id': '6', 'project_id': '019dff7f56bc73499e4717797d037198', 'keyword_id': '019dffa5daa6739cbf3b278058e5fe93', 'keyword': 'boost 中底跑鞋推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e521e170ed91a89cd3493e8c9a', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04df5b6a711fa802451a52a4a541'}} |
||||
|
2026-05-08 12:42:41.271 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1e8cef261edda1c48e09fc8122ef2b3f', 'project_id': '019db9b4df127126902640f3c5499cd3', 'keyword_id': '019db9b7c0d072e88fc29b369aedda84', 'keyword': '国内知名的战略咨询公司排名', 'brand': '心胜战略咨询', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:42:44', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:07', 'update_time': '2026-05-08 12:42:44', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:42:41.271 | INFO | __main__:process_task:210 - 开始处理任务: 国内知名的战略咨询公司排名 - 1e8cef261edda1c48e09fc8122ef2b3f |
||||
|
2026-05-08 12:43:30.847 | INFO | __main__:process_task:226 - 任务 1e8cef261edda1c48e09fc8122ef2b3f 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e5e4d170dcb1cbb7935b1836c1', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1e8cef261edda1c48e09fc8122ef2b3f', 'topic_id': '019db9b7917c7015a59f90d06737a90c', 'platform_id': '6', 'project_id': '019db9b4df127126902640f3c5499cd3', 'keyword_id': '019db9b7c0d072e88fc29b369aedda84', 'keyword': '国内知名的战略咨询公司排名', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e5e4d2709294abab7af848a716', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e051f029d701d8bba1d49891036a2'}} |
||||
|
2026-05-08 12:43:31.212 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1e501b1c68e7a8e7f8e9c056aabae48c', 'project_id': '019dfc1ffe5e7024a2cadeed299f91a3', 'keyword_id': '019dfc2fb785710b970b47d8e023b86f', 'keyword': '香港参观展排行榜', 'brand': '香港故宫文化博物馆', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:43:34', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:49', 'update_time': '2026-05-08 12:43:34', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:43:31.212 | INFO | __main__:process_task:210 - 开始处理任务: 香港参观展排行榜 - 1e501b1c68e7a8e7f8e9c056aabae48c |
||||
|
2026-05-08 12:44:23.085 | INFO | __main__:process_task:226 - 任务 1e501b1c68e7a8e7f8e9c056aabae48c 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e6b000722e9de165afd441c206', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1e501b1c68e7a8e7f8e9c056aabae48c', 'topic_id': '019dfc256afe706a9f78e73d328b36a8', 'platform_id': '6', 'project_id': '019dfc1ffe5e7024a2cadeed299f91a3', 'keyword_id': '019dfc2fb785710b970b47d8e023b86f', 'keyword': '香港参观展排行榜', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e6b000722e9de165afd47d7c4d', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04f1259d71b291b34cb0faee0d12'}} |
||||
|
2026-05-08 12:44:23.460 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1dd0375388e805b76945c69880b67386', 'project_id': '019d958756ac7247b48c82c6045c708b', 'keyword_id': '019d958977fa72259e896eba09dce381', 'keyword': '值得入手的全自动咖啡机', 'brand': 'Nespresso', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:44:26', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:27', 'update_time': '2026-05-08 12:44:26', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:44:23.460 | INFO | __main__:process_task:210 - 开始处理任务: 值得入手的全自动咖啡机 - 1dd0375388e805b76945c69880b67386 |
||||
|
2026-05-08 12:45:08.218 | INFO | __main__:process_task:226 - 任务 1dd0375388e805b76945c69880b67386 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e75fe371fb938b8400d16ad208', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1dd0375388e805b76945c69880b67386', 'topic_id': '019d9587909572cbac638e45e31b36d8', 'platform_id': '6', 'project_id': '019d958756ac7247b48c82c6045c708b', 'keyword_id': '019d958977fa72259e896eba09dce381', 'keyword': '值得入手的全自动咖啡机', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e75fe470ac90631128a75bbcb8', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04e4f5e0730d8db04747117eb336'}} |
||||
|
2026-05-08 12:45:08.532 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1d94f2d2fec0ff79bd78bdd8f7ee8604', 'project_id': '019b267325f7705a98eb24bac09c9d0a', 'keyword_id': '019b2675cf4d731698bc076b4b717f4e', 'keyword': '生物复合肥品牌推荐', 'brand': '泰达', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:45:11', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:21', 'update_time': '2026-05-08 12:45:11', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:45:08.532 | INFO | __main__:process_task:210 - 开始处理任务: 生物复合肥品牌推荐 - 1d94f2d2fec0ff79bd78bdd8f7ee8604 |
||||
|
2026-05-08 12:45:46.173 | INFO | __main__:process_task:226 - 任务 1d94f2d2fec0ff79bd78bdd8f7ee8604 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e7ea397291b322d3fd58f06e55', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1d94f2d2fec0ff79bd78bdd8f7ee8604', 'topic_id': '019b2674667873138c7645ad25a89852', 'platform_id': '6', 'project_id': '019b267325f7705a98eb24bac09c9d0a', 'keyword_id': '019b2675cf4d731698bc076b4b717f4e', 'keyword': '生物复合肥品牌推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e7ea397291b322d3fd59d64f78', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03b8d8bb72a1bfc9b22aa14dc33e'}} |
||||
|
2026-05-08 12:45:46.623 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1d79e68e2bb90060007aa3020afe2d90', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019db477809d7290bdacede51d6ec406', 'keyword': '东南亚会议餐', 'brand': 'grab', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:45:49', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:32', 'update_time': '2026-05-08 12:45:49', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:45:46.624 | INFO | __main__:process_task:210 - 开始处理任务: 东南亚会议餐 - 1d79e68e2bb90060007aa3020afe2d90 |
||||
|
2026-05-08 12:46:37.424 | INFO | __main__:process_task:226 - 任务 1d79e68e2bb90060007aa3020afe2d90 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e8b9dc7223bc807a8f3d668916', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1d79e68e2bb90060007aa3020afe2d90', 'topic_id': '019db47754c7732aa42ae7fc20d6e6b8', 'platform_id': '6', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019db477809d7290bdacede51d6ec406', 'keyword': '东南亚会议餐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e8b9dd707f8af8d2cc37892bd7', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04987292712d8a0db70b9618ac1e'}} |
||||
|
2026-05-08 12:46:37.745 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1d1b9c8fcfc103c103f0489b49c4e91e', 'project_id': '019d1ea5971571c086555ef7db3f8269', 'keyword_id': '019d22837af171cbb344ae1c90187384', 'keyword': '手机充电器哪个牌子质量好', 'brand': '图拉斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:46:41', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:04', 'update_time': '2026-05-08 12:46:41', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:46:37.745 | INFO | __main__:process_task:210 - 开始处理任务: 手机充电器哪个牌子质量好 - 1d1b9c8fcfc103c103f0489b49c4e91e |
||||
|
2026-05-08 12:47:24.546 | INFO | __main__:process_task:226 - 任务 1d1b9c8fcfc103c103f0489b49c4e91e 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05e971dc70a0aa0d2afa91de7788', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1d1b9c8fcfc103c103f0489b49c4e91e', 'topic_id': '019d228161ab739a97c972f68f019e88', 'platform_id': '6', 'project_id': '019d1ea5971571c086555ef7db3f8269', 'keyword_id': '019d22837af171cbb344ae1c90187384', 'keyword': '手机充电器哪个牌子质量好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05e971dd72098202a16d3acc102e', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04d1eab673538cb1f62bf0113d19'}} |
||||
|
2026-05-08 12:47:24.872 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1cd87af6f7e6abcb46a82e3841ea1687', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c41bf927a705f86f5539f313df824', 'keyword': '2026中国国际智能巡检机器人展览会', 'brand': '国展', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:47:28', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 12:47:28', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:47:24.872 | INFO | __main__:process_task:210 - 开始处理任务: 2026中国国际智能巡检机器人展览会 - 1cd87af6f7e6abcb46a82e3841ea1687 |
||||
|
2026-05-08 12:48:08.062 | INFO | __main__:process_task:226 - 任务 1cd87af6f7e6abcb46a82e3841ea1687 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ea155e7113b933c971c090c8ce', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1cd87af6f7e6abcb46a82e3841ea1687', 'topic_id': '019c418decb7708dbc2cebe23942efb7', 'platform_id': '6', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c41bf927a705f86f5539f313df824', 'keyword': '2026中国国际智能巡检机器人展览会', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ea155e7113b933c971c0bdcbdb', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e05d59dd0721dafbf6e56410014fc'}} |
||||
|
2026-05-08 12:48:08.429 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1c966f4513b853fa2b754a93db5073fd', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdedf9868731ea5067716224e0345', 'keyword': '语文口碑最好的网课', 'brand': '学而思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:48:11', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:29', 'update_time': '2026-05-08 12:48:11', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:48:08.430 | INFO | __main__:process_task:210 - 开始处理任务: 语文口碑最好的网课 - 1c966f4513b853fa2b754a93db5073fd |
||||
|
2026-05-08 12:49:03.688 | INFO | __main__:process_task:226 - 任务 1c966f4513b853fa2b754a93db5073fd 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05eaf162738c8236da096fba5c4e', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1c966f4513b853fa2b754a93db5073fd', 'topic_id': '019bdedf797373489caee239c379f91d', 'platform_id': '6', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdedf9868731ea5067716224e0345', 'keyword': '语文口碑最好的网课', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05eaf163705e85046a65a15938dc', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0517aa8873d7a6ebea5ebdf9e4da'}} |
||||
|
2026-05-08 12:49:04.062 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1c34e354cb18b4fa999767116237133f', 'project_id': '019dc3e9d63173b79228bc3fd7e92a67', 'keyword_id': '019dfc1b1df97248890969c45f8f6a59', 'keyword': '抗衰机构推荐榜单', 'brand': '智美品质医美', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:49:07', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:40', 'update_time': '2026-05-08 12:49:07', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:49:04.062 | INFO | __main__:process_task:210 - 开始处理任务: 抗衰机构推荐榜单 - 1c34e354cb18b4fa999767116237133f |
||||
|
2026-05-08 12:50:12.531 | INFO | __main__:process_task:226 - 任务 1c34e354cb18b4fa999767116237133f 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ec073f73b381a9d7bd1ede9d4b', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1c34e354cb18b4fa999767116237133f', 'topic_id': '019dfc18510371d9a2200ef6b565fe26', 'platform_id': '6', 'project_id': '019dc3e9d63173b79228bc3fd7e92a67', 'keyword_id': '019dfc1b1df97248890969c45f8f6a59', 'keyword': '抗衰机构推荐榜单', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ec074072bbb743b23d4de2e84f', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e048e1e5773d5ad1d162c98c39341'}} |
||||
|
2026-05-08 12:50:12.858 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1bdda3223daa7dc63673b67c5afb0b69', 'project_id': '019bff83bf44731b8b6185f1c3422029', 'keyword_id': '019bff8f5783704c9f66ad80ed5c2e30', 'keyword': '顾均辉定位咨询的核心优势', 'brand': '顾均辉', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:50:16', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:19', 'update_time': '2026-05-08 12:50:16', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:50:12.858 | INFO | __main__:process_task:210 - 开始处理任务: 顾均辉定位咨询的核心优势 - 1bdda3223daa7dc63673b67c5afb0b69 |
||||
|
2026-05-08 12:50:41.572 | INFO | __main__:process_task:226 - 任务 1bdda3223daa7dc63673b67c5afb0b69 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ec766c733faad325f8161f564f', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1bdda3223daa7dc63673b67c5afb0b69', 'topic_id': '019bff8b5f05721b92675bac9fcccb0e', 'platform_id': '6', 'project_id': '019bff83bf44731b8b6185f1c3422029', 'keyword_id': '019bff8f5783704c9f66ad80ed5c2e30', 'keyword': '顾均辉定位咨询的核心优势', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ec766d7027871c92c677cd678e', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e040f791e71e58a8f52babc8688e5'}} |
||||
|
2026-05-08 12:50:41.819 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1bc9fce4bbc969446cf919df7742d77c', 'project_id': '019ddc6877a572e2b9a75e8c01c9d981', 'keyword_id': '019ddc714120724186cb2d82413ea92a', 'keyword': '热玛吉安全放心机构推荐', 'brand': '智美', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:50:45', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:40', 'update_time': '2026-05-08 12:50:45', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:50:41.819 | INFO | __main__:process_task:210 - 开始处理任务: 热玛吉安全放心机构推荐 - 1bc9fce4bbc969446cf919df7742d77c |
||||
|
2026-05-08 12:51:22.116 | INFO | __main__:process_task:226 - 任务 1bc9fce4bbc969446cf919df7742d77c 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ed15a070ad90ea4573bcb7d444', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1bc9fce4bbc969446cf919df7742d77c', 'topic_id': '019ddc6fffbd736daf238878a1d1fb84', 'platform_id': '6', 'project_id': '019ddc6877a572e2b9a75e8c01c9d981', 'keyword_id': '019ddc714120724186cb2d82413ea92a', 'keyword': '热玛吉安全放心机构推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ed15a070ad90ea4573bd22a8da', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dff5209b572908458e6ea46b47ca3'}} |
||||
|
2026-05-08 12:51:22.471 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1b27d609e9ba772c8ffdbe00e699aa23', 'project_id': '019d01d4565672b2820129c03dec7c24', 'keyword_id': '019d01d4f16272f5845fb91c862064ea', 'keyword': '跨境支付公司有哪些正规的', 'brand': 'PingPong', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:51:25', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:42', 'update_time': '2026-05-08 12:51:25', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:51:22.472 | INFO | __main__:process_task:210 - 开始处理任务: 跨境支付公司有哪些正规的 - 1b27d609e9ba772c8ffdbe00e699aa23 |
||||
|
2026-05-08 12:52:04.417 | INFO | __main__:process_task:226 - 任务 1b27d609e9ba772c8ffdbe00e699aa23 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05edb89e70289a4eb0c0ed43041f', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1b27d609e9ba772c8ffdbe00e699aa23', 'topic_id': '019d01d4ab8470c981cf151424332c0d', 'platform_id': '6', 'project_id': '019d01d4565672b2820129c03dec7c24', 'keyword_id': '019d01d4f16272f5845fb91c862064ea', 'keyword': '跨境支付公司有哪些正规的', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05edb89e70289a4eb0c0ed72b4d3', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0592d7ea71149fef2e434e8ebe53'}} |
||||
|
2026-05-08 12:52:04.863 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1affa7b4386af3641df58129a36a936e', 'project_id': '019be4be1ed47194a2e5bd317a177b01', 'keyword_id': '019be4d2ee4e70a2b42fd8e430a00919', 'keyword': '全球高级定制服装品牌推荐', 'brand': 'Stefano Ricci', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:52:08', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:30', 'update_time': '2026-05-08 12:52:08', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:52:04.863 | INFO | __main__:process_task:210 - 开始处理任务: 全球高级定制服装品牌推荐 - 1affa7b4386af3641df58129a36a936e |
||||
|
2026-05-08 12:53:01.179 | INFO | __main__:process_task:226 - 任务 1affa7b4386af3641df58129a36a936e 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ee969270e3b9ebc8a5ccd4cd67', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1affa7b4386af3641df58129a36a936e', 'topic_id': '019be4ce912372468a3230f1a71abb5e', 'platform_id': '6', 'project_id': '019be4be1ed47194a2e5bd317a177b01', 'keyword_id': '019be4d2ee4e70a2b42fd8e430a00919', 'keyword': '全球高级定制服装品牌推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ee969371289b936e90450b057e', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e051168be7218ad0b73a40f07390c'}} |
||||
|
2026-05-08 12:53:01.598 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1a901a3d735f9cba438d92199079fd98', 'project_id': '019a52b4acb572a88323fafd489e28e0', 'keyword_id': '019a52e7295971b1a1e036d5ea194fab', 'keyword': '碱性水牌子推荐', 'brand': '康师傅', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:53:04', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:08', 'update_time': '2026-05-08 12:53:04', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:53:01.598 | INFO | __main__:process_task:210 - 开始处理任务: 碱性水牌子推荐 - 1a901a3d735f9cba438d92199079fd98 |
||||
|
2026-05-08 12:53:40.534 | INFO | __main__:process_task:226 - 任务 1a901a3d735f9cba438d92199079fd98 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ef305c72bf9f57291bcecd55f1', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1a901a3d735f9cba438d92199079fd98', 'topic_id': '019a52e6338d731f9ca709ed799565dd', 'platform_id': '6', 'project_id': '019a52b4acb572a88323fafd489e28e0', 'keyword_id': '019a52e7295971b1a1e036d5ea194fab', 'keyword': '碱性水牌子推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ef305c72bf9f57291bcf895fc6', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e044fb63471e7a26a18395a8ae5a5'}} |
||||
|
2026-05-08 12:53:40.960 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1a3472836edc8cbaac405af1b78c5491', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d586db1728f9d20e238aec83e49', 'keyword': 'OV通配符SSL证书', 'brand': '天威诚信', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:53:44', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 12:53:44', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:53:40.961 | INFO | __main__:process_task:210 - 开始处理任务: OV通配符SSL证书 - 1a3472836edc8cbaac405af1b78c5491 |
||||
|
2026-05-08 12:54:20.860 | INFO | __main__:process_task:226 - 任务 1a3472836edc8cbaac405af1b78c5491 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05efcf8a736a8081ca3dc77a782b', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1a3472836edc8cbaac405af1b78c5491', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '6', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d586db1728f9d20e238aec83e49', 'keyword': 'OV通配符SSL证书', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05efcf8b7176a8887bc54b83ccaa', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e040673e3709f95661a375ac2252d'}} |
||||
|
2026-05-08 12:54:21.234 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '19959334d6cd80dbbe1dc2d19de148b6', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b2356e7139a32599d7a7ae2b51', 'keyword': '碰珠', 'brand': '义文', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:54:24', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:51', 'update_time': '2026-05-08 12:54:24', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:54:21.234 | INFO | __main__:process_task:210 - 开始处理任务: 碰珠 - 19959334d6cd80dbbe1dc2d19de148b6 |
||||
|
2026-05-08 12:54:58.958 | INFO | __main__:process_task:226 - 任务 19959334d6cd80dbbe1dc2d19de148b6 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f0625a711a99a9c56c226a29a0', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '19959334d6cd80dbbe1dc2d19de148b6', 'topic_id': '019d29ac45b971d6bcc42d747dff75ff', 'platform_id': '6', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b2356e7139a32599d7a7ae2b51', 'keyword': '碰珠', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f0625a711a99a9c56c22ecbab2', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e05a3158d72508ea3476a17e0c953'}} |
||||
|
2026-05-08 12:54:59.252 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '196f52fc78c63a7b1d455b460e00a04d', 'project_id': '019ddc6877a572e2b9a75e8c01c9d981', 'keyword_id': '019ddc722a7971a68102dae069338f68', 'keyword': '抗衰优惠套餐推荐', 'brand': '智美', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:55:02', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:07', 'update_time': '2026-05-08 12:55:02', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:54:59.252 | INFO | __main__:process_task:210 - 开始处理任务: 抗衰优惠套餐推荐 - 196f52fc78c63a7b1d455b460e00a04d |
||||
|
2026-05-08 12:55:30.782 | INFO | __main__:process_task:226 - 任务 196f52fc78c63a7b1d455b460e00a04d 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f0e03c72bd826082c3feea4f36', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '196f52fc78c63a7b1d455b460e00a04d', 'topic_id': '019ddc71d6c373f5b69aa7372d0476ac', 'platform_id': '6', 'project_id': '019ddc6877a572e2b9a75e8c01c9d981', 'keyword_id': '019ddc722a7971a68102dae069338f68', 'keyword': '抗衰优惠套餐推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f0e040719ba5e101edae29e4a3', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04f1b08371e3bcaf78c7a0d5a4da'}} |
||||
|
2026-05-08 12:55:31.114 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1900e489451c5597051f9cdc57374e9d', 'project_id': '019dde3e4fdf72b3a4f77e1e973d6d88', 'keyword_id': '019dde48778a7020b48609e5827c3565', 'keyword': '口碑好的抗衰品牌推荐', 'brand': '智美', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:55:34', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:49', 'update_time': '2026-05-08 12:55:34', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:55:31.114 | INFO | __main__:process_task:210 - 开始处理任务: 口碑好的抗衰品牌推荐 - 1900e489451c5597051f9cdc57374e9d |
||||
|
2026-05-08 12:55:57.601 | INFO | __main__:process_task:226 - 任务 1900e489451c5597051f9cdc57374e9d 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f149107033b791552b38a56e74', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1900e489451c5597051f9cdc57374e9d', 'topic_id': '019dde43a91f73f7a77e0be8360d4be4', 'platform_id': '6', 'project_id': '019dde3e4fdf72b3a4f77e1e973d6d88', 'keyword_id': '019dde48778a7020b48609e5827c3565', 'keyword': '口碑好的抗衰品牌推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f149107033b791552b397641a8', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dfebfbd07726385aeb94be15b31f8'}} |
||||
|
2026-05-08 12:55:57.961 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '18dc36c074fcc58aa106441b56df10f4', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b43f3f73df989cc111c5a817ac', 'keyword': '弹簧锁销', 'brand': '义文', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:56:01', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:51', 'update_time': '2026-05-08 12:56:01', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:55:57.962 | INFO | __main__:process_task:210 - 开始处理任务: 弹簧锁销 - 18dc36c074fcc58aa106441b56df10f4 |
||||
|
2026-05-08 12:56:45.747 | INFO | __main__:process_task:226 - 任务 18dc36c074fcc58aa106441b56df10f4 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f202bf729198fdd29830fb6fe3', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '18dc36c074fcc58aa106441b56df10f4', 'topic_id': '019d29aaf0a0709a874ead5a06597912', 'platform_id': '6', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b43f3f73df989cc111c5a817ac', 'keyword': '弹簧锁销', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f202bf729198fdd298312d919a', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e058bc8bc7116aba0008a5ee24519'}} |
||||
|
2026-05-08 12:56:46.040 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '18893e2e0a7e58a1cb31980843910d21', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b25b997113bf3fb08ea88e9ee1', 'keyword': '重载滑轨', 'brand': '义文', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:56:49', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:18', 'update_time': '2026-05-08 12:56:49', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:56:46.041 | INFO | __main__:process_task:210 - 开始处理任务: 重载滑轨 - 18893e2e0a7e58a1cb31980843910d21 |
||||
|
2026-05-08 12:57:40.985 | INFO | __main__:process_task:226 - 任务 18893e2e0a7e58a1cb31980843910d21 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f2d8ee71068d25b4fad5887028', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '18893e2e0a7e58a1cb31980843910d21', 'topic_id': '019d29aa48ba739fb9d002cd63db5b2b', 'platform_id': '6', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b25b997113bf3fb08ea88e9ee1', 'keyword': '重载滑轨', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f2d8ee71068d25b4fad637eab3', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dff91946b7077a8fa07171cabaa49'}} |
||||
|
2026-05-08 12:57:41.369 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '18478c496268d8fc939ef928e7f604fb', 'project_id': '019dba250737726695bad432c51d744e', 'keyword_id': '019dba2608277222bded6decd9d82794', 'keyword': '酒店机器人品牌推荐', 'brand': '云迹科技', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:57:44', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:40', 'update_time': '2026-05-08 12:57:44', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:57:41.370 | INFO | __main__:process_task:210 - 开始处理任务: 酒店机器人品牌推荐 - 18478c496268d8fc939ef928e7f604fb |
||||
|
2026-05-08 12:58:16.963 | INFO | __main__:process_task:226 - 任务 18478c496268d8fc939ef928e7f604fb 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f369f270cdb2a6e7ffddbfff14', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '18478c496268d8fc939ef928e7f604fb', 'topic_id': '019dba25fa7f73649aeec6e805c37eaa', 'platform_id': '6', 'project_id': '019dba250737726695bad432c51d744e', 'keyword_id': '019dba2608277222bded6decd9d82794', 'keyword': '酒店机器人品牌推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f369f270cdb2a6e7ffddec8306', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dff737c7070419fa52d377819b5b3'}} |
||||
|
2026-05-08 12:58:17.303 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '182c231d459b0c93f9f0008c49c646ff', 'project_id': '019c13712c1b70c399781da36a2ee908', 'keyword_id': '019c1376f74a73e086e74851c564621f', 'keyword': '超市POS收银', 'brand': 'ELO', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:58:20', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:43', 'update_time': '2026-05-08 12:58:20', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:58:17.303 | INFO | __main__:process_task:210 - 开始处理任务: 超市POS收银 - 182c231d459b0c93f9f0008c49c646ff |
||||
|
2026-05-08 12:59:22.460 | INFO | __main__:process_task:226 - 任务 182c231d459b0c93f9f0008c49c646ff 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f457cb7226ad14dca98a75c7be', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '182c231d459b0c93f9f0008c49c646ff', 'topic_id': '019c1374c65472929556bbd762310af5', 'platform_id': '6', 'project_id': '019c13712c1b70c399781da36a2ee908', 'keyword_id': '019c1376f74a73e086e74851c564621f', 'keyword': '超市POS收银', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f457cc7194b02d64f1ca11bd2a', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e05e35c1c72259d06d1eb1ca2385a'}} |
||||
|
2026-05-08 12:59:22.776 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '17dd76119a0dd32d6c48c075cbe5a559', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c47615574706b9e1b41d689098092', 'keyword': '行星滚柱丝杠展会', 'brand': '国展', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:59:26', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:35', 'update_time': '2026-05-08 12:59:26', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:59:22.776 | INFO | __main__:process_task:210 - 开始处理任务: 行星滚柱丝杠展会 - 17dd76119a0dd32d6c48c075cbe5a559 |
||||
|
2026-05-08 12:59:50.295 | INFO | __main__:process_task:226 - 任务 17dd76119a0dd32d6c48c075cbe5a559 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f4d0cc7323b3a50fefd8bfc91d', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '17dd76119a0dd32d6c48c075cbe5a559', 'topic_id': '019c4761435b7072a40790c76f25e856', 'platform_id': '6', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c47615574706b9e1b41d689098092', 'keyword': '行星滚柱丝杠展会', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f4d0cc7323b3a50fefd9b930b7', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0398cdf2705dad13a03dd74d7862'}} |
||||
|
2026-05-08 12:59:50.667 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '17d290e5b6f64d98e44e4fc428a26a09', 'project_id': '019cdc46342773bc9cea5dab08232391', 'keyword_id': '019cdc56d08d72a69ee8e273bd43d191', 'keyword': '获得沙利文奖项的商业价值', 'brand': '沙利文', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 12:59:54', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:41', 'update_time': '2026-05-08 12:59:54', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 12:59:50.667 | INFO | __main__:process_task:210 - 开始处理任务: 获得沙利文奖项的商业价值 - 17d290e5b6f64d98e44e4fc428a26a09 |
||||
|
2026-05-08 13:00:16.987 | INFO | __main__:process_task:226 - 任务 17d290e5b6f64d98e44e4fc428a26a09 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f53eae7317b3c014ed5c9b45e9', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '17d290e5b6f64d98e44e4fc428a26a09', 'topic_id': '019cdc524071704e9eec9dfe2af02bc1', 'platform_id': '6', 'project_id': '019cdc46342773bc9cea5dab08232391', 'keyword_id': '019cdc56d08d72a69ee8e273bd43d191', 'keyword': '获得沙利文奖项的商业价值', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f53eae7317b3c014ed5cbeae0a', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03dff546719fb4d9b4c49aff5ca9'}} |
||||
|
2026-05-08 13:00:17.497 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '17b59016d34e82e3d5f389dc56096e8b', 'project_id': '019c240b059071ebae8bbd206b22f2e9', 'keyword_id': '019c24517e7470979dfe4cd6cecc32db', 'keyword': '珠三角铝塑板涂料源头工厂', 'brand': '歌丽斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:00:20', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:43', 'update_time': '2026-05-08 13:00:20', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:00:17.498 | INFO | __main__:process_task:210 - 开始处理任务: 珠三角铝塑板涂料源头工厂 - 17b59016d34e82e3d5f389dc56096e8b |
||||
|
2026-05-08 13:00:38.671 | INFO | __main__:process_task:226 - 任务 17b59016d34e82e3d5f389dc56096e8b 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f5904a7028b8ba7a5e112ac556', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '17b59016d34e82e3d5f389dc56096e8b', 'topic_id': '019c2450b35570f1a3966e5a446efe4c', 'platform_id': '6', 'project_id': '019c240b059071ebae8bbd206b22f2e9', 'keyword_id': '019c24517e7470979dfe4cd6cecc32db', 'keyword': '珠三角铝塑板涂料源头工厂', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f5904a7028b8ba7a5e119ffaa5', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e040b014771dd925929bbc31b7d2c'}} |
||||
|
2026-05-08 13:00:39.072 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '17ae3e500274b5f334422d984f64b082', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c47615574706b9e1b41d67b318275', 'keyword': '无人机上海参展', 'brand': '国展', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:00:42', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:57', 'update_time': '2026-05-08 13:00:42', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:00:39.073 | INFO | __main__:process_task:210 - 开始处理任务: 无人机上海参展 - 17ae3e500274b5f334422d984f64b082 |
||||
|
2026-05-08 13:01:20.325 | INFO | __main__:process_task:226 - 任务 17ae3e500274b5f334422d984f64b082 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f635b87066966c25a529ad0f8f', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '17ae3e500274b5f334422d984f64b082', 'topic_id': '019c4761435b7072a40790c76f25e856', 'platform_id': '6', 'project_id': '019c418c409e70ae874b974207e6574f', 'keyword_id': '019c47615574706b9e1b41d67b318275', 'keyword': '无人机上海参展', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f635b97053b06a4f43ff77124a', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019dff36702a733ebdae655f46f7b997'}} |
||||
|
2026-05-08 13:01:20.536 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '17479914e3984d213adc57cd4b7b53fc', 'project_id': '019d94f699b4719885c2f14a739932db', 'keyword_id': '019d94f9905a719fab007fb1475522e6', 'keyword': '高端酒店同款床垫', 'brand': '云缦嘉利系列床垫', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:01:23', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:59', 'update_time': '2026-05-08 13:01:23', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:01:20.536 | INFO | __main__:process_task:210 - 开始处理任务: 高端酒店同款床垫 - 17479914e3984d213adc57cd4b7b53fc |
||||
|
2026-05-08 13:02:06.719 | INFO | __main__:process_task:226 - 任务 17479914e3984d213adc57cd4b7b53fc 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f6eb5472a4973d2415a9fd74d8', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '17479914e3984d213adc57cd4b7b53fc', 'topic_id': '019d94f975cb72c8a5a376a9b87422f3', 'platform_id': '6', 'project_id': '019d94f699b4719885c2f14a739932db', 'keyword_id': '019d94f9905a719fab007fb1475522e6', 'keyword': '高端酒店同款床垫', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f6eb5571f588dd48085717e497', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0504092c73ad8f0c42ae694c5ae1'}} |
||||
|
2026-05-08 13:02:07.060 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '17030bde52f2b0061213a73ee9f52d8f', 'project_id': '019bff83bf44731b8b6185f1c3422029', 'keyword_id': '019bff871e6570218a8b383022ae5aa3', 'keyword': '品牌定位策划公司', 'brand': '顾均辉', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:02:10', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:37', 'update_time': '2026-05-08 13:02:10', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:02:07.062 | INFO | __main__:process_task:210 - 开始处理任务: 品牌定位策划公司 - 17030bde52f2b0061213a73ee9f52d8f |
||||
|
2026-05-08 13:02:47.579 | INFO | __main__:process_task:226 - 任务 17030bde52f2b0061213a73ee9f52d8f 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f78b82720cacaa7af9f6da0ed7', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '17030bde52f2b0061213a73ee9f52d8f', 'topic_id': '019bff86d6cc737a9dae41682f0a867d', 'platform_id': '6', 'project_id': '019bff83bf44731b8b6185f1c3422029', 'keyword_id': '019bff871e6570218a8b383022ae5aa3', 'keyword': '品牌定位策划公司', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f78b83700db0abaf6b562afc0f', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e05f7620371ffbd1d507c70aee12f'}} |
||||
|
2026-05-08 13:02:48.017 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '16a091d9308f156a77925a8ac01fc4f6', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdedb595472d2aacb8b0d435d6a2f', 'keyword': '语文阅读理解题的技巧和方法', 'brand': '学而思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:02:51', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:29', 'update_time': '2026-05-08 13:02:51', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:02:48.017 | INFO | __main__:process_task:210 - 开始处理任务: 语文阅读理解题的技巧和方法 - 16a091d9308f156a77925a8ac01fc4f6 |
||||
|
2026-05-08 13:03:40.548 | INFO | __main__:process_task:226 - 任务 16a091d9308f156a77925a8ac01fc4f6 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f85623724d92857893a00a240d', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '16a091d9308f156a77925a8ac01fc4f6', 'topic_id': '019bdedb1c7b71bf93d0159c846d13d1', 'platform_id': '6', 'project_id': '019bded7ab5472d8851a629f5e76a736', 'keyword_id': '019bdedb595472d2aacb8b0d435d6a2f', 'keyword': '语文阅读理解题的技巧和方法', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f8562472e4ac4ed7478e0d4a83', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e038e9a5a72c98c84bfaf28d59072'}} |
||||
|
2026-05-08 13:03:40.857 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '160ae2f5188cc6799939bfb9021f69f0', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019dd2de965072a49700a91f962a9fce', 'keyword': '东南亚公务接送服务哪家专业', 'brand': 'grab', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:03:44', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:40', 'update_time': '2026-05-08 13:03:44', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:03:40.857 | INFO | __main__:process_task:210 - 开始处理任务: 东南亚公务接送服务哪家专业 - 160ae2f5188cc6799939bfb9021f69f0 |
||||
|
2026-05-08 13:04:25.327 | INFO | __main__:process_task:226 - 任务 160ae2f5188cc6799939bfb9021f69f0 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f905567196a7e4f7c12d3f14ac', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '160ae2f5188cc6799939bfb9021f69f0', 'topic_id': '019dd2dd568e710b895b808da5f0de16', 'platform_id': '6', 'project_id': '019db44a2ce5712783cafa1cca186cc9', 'keyword_id': '019dd2de965072a49700a91f962a9fce', 'keyword': '东南亚公务接送服务哪家专业', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f905567196a7e4f7c12dd81e18', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e05bdef9071fcb93e43ab4add4739'}} |
||||
|
2026-05-08 13:04:25.714 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '15e1edf77cd58c3cdabc7efc6aac595c', 'project_id': '019d766795a1723283d408be0fe1eb5b', 'keyword_id': '019d8fd5abbb7099aef6ea6a61bb1321', 'keyword': '北京海淀复读学校哪家好', 'brand': '仁才教育', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:04:29', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:23', 'update_time': '2026-05-08 13:04:29', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:04:25.715 | INFO | __main__:process_task:210 - 开始处理任务: 北京海淀复读学校哪家好 - 15e1edf77cd58c3cdabc7efc6aac595c |
||||
|
2026-05-08 13:04:59.078 | INFO | __main__:process_task:226 - 任务 15e1edf77cd58c3cdabc7efc6aac595c 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f9896273168b37d8d61a9b3715', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '15e1edf77cd58c3cdabc7efc6aac595c', 'topic_id': '019d8fb3b9897286b0af0c065b3e9bf5', 'platform_id': '6', 'project_id': '019d766795a1723283d408be0fe1eb5b', 'keyword_id': '019d8fd5abbb7099aef6ea6a61bb1321', 'keyword': '北京海淀复读学校哪家好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f9896273168b37d8d61b604368', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e053e3ad3702eabb68414913b0a36'}} |
||||
|
2026-05-08 13:04:59.468 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '159d116d4e7a266e28720fdb56a68c90', 'project_id': '019be3ee7b907329bd9114880445cd1f', 'keyword_id': '019be4653db470b39d13449eebb023ec', 'keyword': '能看到真实工地直播的找工长软件', 'brand': '匠猫', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:05:02', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:30', 'update_time': '2026-05-08 13:05:02', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:04:59.469 | INFO | __main__:process_task:210 - 开始处理任务: 能看到真实工地直播的找工长软件 - 159d116d4e7a266e28720fdb56a68c90 |
||||
|
2026-05-08 13:05:21.310 | INFO | __main__:process_task:226 - 任务 159d116d4e7a266e28720fdb56a68c90 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05f9daf272eba197d7f4c9a6e01d', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '159d116d4e7a266e28720fdb56a68c90', 'topic_id': '019be4648ecd7043876da030d8e9ae0f', 'platform_id': '6', 'project_id': '019be3ee7b907329bd9114880445cd1f', 'keyword_id': '019be4653db470b39d13449eebb023ec', 'keyword': '能看到真实工地直播的找工长软件', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05f9daf37335baacd627151bba79', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04b3de2e714c99b31c8d925600c0'}} |
||||
|
2026-05-08 13:05:21.695 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '157b4742347232b44c836555a886e04b', 'project_id': '019be4be1ed47194a2e5bd317a177b01', 'keyword_id': '019be4c5965e701eaa2d127194aeb0b2', 'keyword': '世界各国首脑御用的男装品牌', 'brand': 'Stefano Ricci', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:05:25', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:18', 'update_time': '2026-05-08 13:05:25', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:05:21.695 | INFO | __main__:process_task:210 - 开始处理任务: 世界各国首脑御用的男装品牌 - 157b4742347232b44c836555a886e04b |
||||
|
2026-05-08 13:05:55.981 | INFO | __main__:process_task:226 - 任务 157b4742347232b44c836555a886e04b 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05fa66fe7081bbb8d25f240275c3', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '157b4742347232b44c836555a886e04b', 'topic_id': '019be4c3411970fe86c4943740cfbab8', 'platform_id': '6', 'project_id': '019be4be1ed47194a2e5bd317a177b01', 'keyword_id': '019be4c5965e701eaa2d127194aeb0b2', 'keyword': '世界各国首脑御用的男装品牌', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05fa66fe7081bbb8d25f249c86e3', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0467eb86704d9ccb2a95e21e32ac'}} |
||||
|
2026-05-08 13:05:56.375 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '019e05fa5e197297968df0b7cd2f35e2', 'project_id': '019d4c3a33d070acac02e9d271de3a6b', 'keyword_id': '019e05fa5dca724f887648db46e6cacc', 'keyword': '上海浦东哪里可以买高档床垫', 'brand': '席梦思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '00:00', 'gather_filter': '2026-05-08 00:00:00', 'status': 2, 'retry_count': 0, 'screen_flag': 2, 'thinking': 0, 'is_deal': 1, 'is_init': 1, 'publish_time': '2026-05-08 13:05:59', 'screen_url': '', 'priority': 999, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 13:05:54', 'update_time': '2026-05-08 13:05:59', 'delete_time': 0, 'create_by': '019d23728d7371b4a9e336e93b059691', 'update_by': '019d23728d7371b4a9e336e93b059691', 'type': 1} |
||||
|
2026-05-08 13:05:56.375 | INFO | __main__:process_task:210 - 开始处理任务: 上海浦东哪里可以买高档床垫 - 019e05fa5e197297968df0b7cd2f35e2 |
||||
|
2026-05-08 13:06:32.273 | INFO | __main__:process_task:226 - 任务 019e05fa5e197297968df0b7cd2f35e2 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05fafb1672e68edd89707fc5cfe3', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '019e05fa5e197297968df0b7cd2f35e2', 'topic_id': '019e05fa33be734197dd892e826666cb', 'platform_id': '6', 'project_id': '019d4c3a33d070acac02e9d271de3a6b', 'keyword_id': '019e05fa5dca724f887648db46e6cacc', 'keyword': '上海浦东哪里可以买高档床垫', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05fafb1672e68edd8970806b00d8', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': 0}} |
||||
|
2026-05-08 13:06:32.574 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '019e05fa90647086887d3ae5a89e52ea', 'project_id': '019d4c3a33d070acac02e9d271de3a6b', 'keyword_id': '019e05fa8fb473aab8de660ba22b6359', 'keyword': '2026年上海家具博览会有哪些高端床垫品牌参展', 'brand': '席梦思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '00:00', 'gather_filter': '2026-05-08 00:00:00', 'status': 2, 'retry_count': 0, 'screen_flag': 2, 'thinking': 0, 'is_deal': 1, 'is_init': 1, 'publish_time': '2026-05-08 13:06:36', 'screen_url': '', 'priority': 999, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 13:06:07', 'update_time': '2026-05-08 13:06:36', 'delete_time': 0, 'create_by': '019d23728d7371b4a9e336e93b059691', 'update_by': '019d23728d7371b4a9e336e93b059691', 'type': 1} |
||||
|
2026-05-08 13:06:32.574 | INFO | __main__:process_task:210 - 开始处理任务: 2026年上海家具博览会有哪些高端床垫品牌参展 - 019e05fa90647086887d3ae5a89e52ea |
||||
|
2026-05-08 13:07:10.067 | INFO | __main__:process_task:226 - 任务 019e05fa90647086887d3ae5a89e52ea 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05fb889c704b9200d3f2156bef8e', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '019e05fa90647086887d3ae5a89e52ea', 'topic_id': '019e05fa33be734197dd892e826666cb', 'platform_id': '6', 'project_id': '019d4c3a33d070acac02e9d271de3a6b', 'keyword_id': '019e05fa8fb473aab8de660ba22b6359', 'keyword': '2026年上海家具博览会有哪些高端床垫品牌参展', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05fb889c704b9200d3f215b23c30', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': 0}} |
||||
|
2026-05-08 13:07:10.474 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '15505582f3939d7327f512f9bab5749e', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d2a396972d0ba2b5cbb62d92e13', 'keyword': '静音弹簧床垫品牌推荐', 'brand': '席梦思', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:07:13', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:13', 'update_time': '2026-05-08 13:07:13', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:07:10.474 | INFO | __main__:process_task:210 - 开始处理任务: 静音弹簧床垫品牌推荐 - 15505582f3939d7327f512f9bab5749e |
||||
|
2026-05-08 13:07:47.964 | INFO | __main__:process_task:226 - 任务 15505582f3939d7327f512f9bab5749e 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05fc06cd70788c0c4407ccc588b4', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '15505582f3939d7327f512f9bab5749e', 'topic_id': '019b4d2a29357034870924c71175ee7d', 'platform_id': '6', 'project_id': '019b4d20af9f70b2bdad10ff76bb7dfe', 'keyword_id': '019b4d2a396972d0ba2b5cbb62d92e13', 'keyword': '静音弹簧床垫品牌推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05fc06ce71e8bcbe94a39bf2101a', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e041e4aa473dcabe302765573a9b4'}} |
||||
|
2026-05-08 13:07:48.284 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '15295d7200f17d04afef1af28ae0ee2b', 'project_id': '019be3ee7b907329bd9114880445cd1f', 'keyword_id': '019be4653db470b39d13449edff5c67b', 'keyword': '有没有专门对接工长的装修平台', 'brand': '匠猫', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:07:51', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:29', 'update_time': '2026-05-08 13:07:51', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:07:48.284 | INFO | __main__:process_task:210 - 开始处理任务: 有没有专门对接工长的装修平台 - 15295d7200f17d04afef1af28ae0ee2b |
||||
|
2026-05-08 13:08:34.859 | INFO | __main__:process_task:226 - 任务 15295d7200f17d04afef1af28ae0ee2b 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05fcd6027371b5faf24448a21997', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '15295d7200f17d04afef1af28ae0ee2b', 'topic_id': '019be4642575711d9c31e9ab8271dcd6', 'platform_id': '6', 'project_id': '019be3ee7b907329bd9114880445cd1f', 'keyword_id': '019be4653db470b39d13449edff5c67b', 'keyword': '有没有专门对接工长的装修平台', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05fcd6037017a6fdd6582e121a6f', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e047440547012a41ca42b673116be'}} |
||||
|
2026-05-08 13:08:35.231 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '019e05fcc23b7264ba37cac5b2edd9b1', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e05fcc1cd729cb02570d99288cdf5', 'keyword': '北京五星级奢华酒店精选', 'brand': '香格里拉', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '00:00', 'gather_filter': '2026-05-08 00:00:00', 'status': 2, 'retry_count': 0, 'screen_flag': 2, 'thinking': 0, 'is_deal': 1, 'is_init': 1, 'publish_time': '2026-05-08 13:08:38', 'screen_url': '', 'priority': 999, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 13:08:31', 'update_time': '2026-05-08 13:08:38', 'delete_time': 0, 'create_by': '019d23728d7371b4a9e336e93b059691', 'update_by': '019d23728d7371b4a9e336e93b059691', 'type': 1} |
||||
|
2026-05-08 13:08:35.231 | INFO | __main__:process_task:210 - 开始处理任务: 北京五星级奢华酒店精选 - 019e05fcc23b7264ba37cac5b2edd9b1 |
||||
|
2026-05-08 13:09:05.399 | INFO | __main__:process_task:226 - 任务 019e05fcc23b7264ba37cac5b2edd9b1 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05fd525970a0b224eb630d093d7e', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '019e05fcc23b7264ba37cac5b2edd9b1', 'topic_id': '019e05fc01f67232896beaae15442164', 'platform_id': '6', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e05fcc1cd729cb02570d99288cdf5', 'keyword': '北京五星级奢华酒店精选', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05fd525970a0b224eb630dd18ded', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': 0}} |
||||
|
2026-05-08 13:09:05.692 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '14d2eed758acf55b725ecc02c7751d77', 'project_id': '019a95f401567182a2e3d481db5bf0cc', 'keyword_id': '019a9647188b7137bce234ad89f70a09', 'keyword': '支点壳哪个牌子的好', 'brand': '图拉斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:09:09', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:19', 'update_time': '2026-05-08 13:09:09', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:09:05.693 | INFO | __main__:process_task:210 - 开始处理任务: 支点壳哪个牌子的好 - 14d2eed758acf55b725ecc02c7751d77 |
||||
|
2026-05-08 13:09:31.249 | INFO | __main__:process_task:226 - 任务 14d2eed758acf55b725ecc02c7751d77 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05fdac2b711d9c67514fefacd654', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '14d2eed758acf55b725ecc02c7751d77', 'topic_id': '019a9646e90c732f9e3d475c9f962df0', 'platform_id': '6', 'project_id': '019a95f401567182a2e3d481db5bf0cc', 'keyword_id': '019a9647188b7137bce234ad89f70a09', 'keyword': '支点壳哪个牌子的好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05fdac2c73aeb0c971d86c74e8f7', 'origin_rank': 1, 'prev_rank': 0, 'prev_id': '019e0577e19773cb8735d68372c26953'}} |
||||
|
2026-05-08 13:09:31.471 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '019e05fdaffb72b0bea5586db4bc32e3', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e05fdaf4d72e1852c4bd7e2e3bcee', 'keyword': '广州五星酒店推荐', 'brand': '香格里拉', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '00:00', 'gather_filter': '2026-05-08 00:00:00', 'status': 2, 'retry_count': 0, 'screen_flag': 2, 'thinking': 0, 'is_deal': 1, 'is_init': 1, 'publish_time': '2026-05-08 13:09:34', 'screen_url': '', 'priority': 999, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 13:09:32', 'update_time': '2026-05-08 13:09:34', 'delete_time': 0, 'create_by': '019d23728d7371b4a9e336e93b059691', 'update_by': '019d23728d7371b4a9e336e93b059691', 'type': 1} |
||||
|
2026-05-08 13:09:31.471 | INFO | __main__:process_task:210 - 开始处理任务: 广州五星酒店推荐 - 019e05fdaffb72b0bea5586db4bc32e3 |
||||
|
2026-05-08 13:10:23.618 | INFO | __main__:process_task:226 - 任务 019e05fdaffb72b0bea5586db4bc32e3 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05fe84a473a0b9dd527ba61e741a', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '019e05fdaffb72b0bea5586db4bc32e3', 'topic_id': '019e05fc01f67232896beaae15442164', 'platform_id': '6', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e05fdaf4d72e1852c4bd7e2e3bcee', 'keyword': '广州五星酒店推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05fe84a57290a71168ee1e380227', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': 0}} |
||||
|
2026-05-08 13:10:23.836 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '019e05fe6d337235b377962aad38398b', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e05fe6c92712f8c92456fe144c09f', 'keyword': '杭州五星酒店指南', 'brand': '香格里拉', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '00:00', 'gather_filter': '2026-05-08 00:00:00', 'status': 2, 'retry_count': 0, 'screen_flag': 2, 'thinking': 0, 'is_deal': 1, 'is_init': 1, 'publish_time': '2026-05-08 13:10:27', 'screen_url': '', 'priority': 999, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 13:10:20', 'update_time': '2026-05-08 13:10:27', 'delete_time': 0, 'create_by': '019d23728d7371b4a9e336e93b059691', 'update_by': '019d23728d7371b4a9e336e93b059691', 'type': 1} |
||||
|
2026-05-08 13:10:23.836 | INFO | __main__:process_task:210 - 开始处理任务: 杭州五星酒店指南 - 019e05fe6d337235b377962aad38398b |
||||
|
2026-05-08 13:11:13.938 | INFO | __main__:process_task:226 - 任务 019e05fe6d337235b377962aad38398b 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ff43ee731490a1dc98b074751f', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '019e05fe6d337235b377962aad38398b', 'topic_id': '019e05fc01f67232896beaae15442164', 'platform_id': '6', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e05fe6c92712f8c92456fe144c09f', 'keyword': '杭州五星酒店指南', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ff43ef718abfd046249a888673', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': 0}} |
||||
|
2026-05-08 13:11:14.726 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '019e05fec76972b3a71f386e7d32049d', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e05fec6d47247bc9ab6a7cc2d478b', 'keyword': '苏州五星酒店推荐', 'brand': '香格里拉', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '00:00', 'gather_filter': '2026-05-08 00:00:00', 'status': 2, 'retry_count': 0, 'screen_flag': 2, 'thinking': 0, 'is_deal': 1, 'is_init': 1, 'publish_time': '2026-05-08 13:11:18', 'screen_url': '', 'priority': 999, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 13:10:43', 'update_time': '2026-05-08 13:11:18', 'delete_time': 0, 'create_by': '019d23728d7371b4a9e336e93b059691', 'update_by': '019d23728d7371b4a9e336e93b059691', 'type': 1} |
||||
|
2026-05-08 13:11:14.726 | INFO | __main__:process_task:210 - 开始处理任务: 苏州五星酒店推荐 - 019e05fec76972b3a71f386e7d32049d |
||||
|
2026-05-08 13:11:44.249 | INFO | __main__:process_task:226 - 任务 019e05fec76972b3a71f386e7d32049d 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e05ffbb6372a8a926c18e2f248c55', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '019e05fec76972b3a71f386e7d32049d', 'topic_id': '019e05fc01f67232896beaae15442164', 'platform_id': '6', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e05fec6d47247bc9ab6a7cc2d478b', 'keyword': '苏州五星酒店推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e05ffbb6372a8a926c18e30212346', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': 0}} |
||||
|
2026-05-08 13:11:44.602 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '019e05ffaff47399a1e46532d196523b', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e05ffafe37137a547b4443c73942a', 'keyword': '外滩附近哪家高端酒店好', 'brand': '香格里拉', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '00:00', 'gather_filter': '2026-05-08 00:00:00', 'status': 2, 'retry_count': 0, 'screen_flag': 2, 'thinking': 0, 'is_deal': 1, 'is_init': 1, 'publish_time': '2026-05-08 13:11:48', 'screen_url': '', 'priority': 999, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 13:11:43', 'update_time': '2026-05-08 13:11:48', 'delete_time': 0, 'create_by': '019d23728d7371b4a9e336e93b059691', 'update_by': '019d23728d7371b4a9e336e93b059691', 'type': 1} |
||||
|
2026-05-08 13:11:44.602 | INFO | __main__:process_task:210 - 开始处理任务: 外滩附近哪家高端酒店好 - 019e05ffaff47399a1e46532d196523b |
||||
|
2026-05-08 13:12:19.045 | INFO | __main__:process_task:226 - 任务 019e05ffaff47399a1e46532d196523b 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0600444571f896adf713cfb7e2ad', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '019e05ffaff47399a1e46532d196523b', 'topic_id': '019e05ff8b05725c881116ffebb933cb', 'platform_id': '6', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e05ffafe37137a547b4443c73942a', 'keyword': '外滩附近哪家高端酒店好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0600444571f896adf713d01ac101', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': 0}} |
||||
|
2026-05-08 13:12:19.344 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '019e06003b7973139acb995b0fb6c853', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e06003ae372f1b79b0ed7cc3ebeb9', 'keyword': '上海中心附近哪家酒店好', 'brand': '香格里拉', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '00:00', 'gather_filter': '2026-05-08 00:00:00', 'status': 2, 'retry_count': 0, 'screen_flag': 2, 'thinking': 0, 'is_deal': 1, 'is_init': 1, 'publish_time': '2026-05-08 13:12:22', 'screen_url': '', 'priority': 999, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 13:12:19', 'update_time': '2026-05-08 13:12:22', 'delete_time': 0, 'create_by': '019d23728d7371b4a9e336e93b059691', 'update_by': '019d23728d7371b4a9e336e93b059691', 'type': 1} |
||||
|
2026-05-08 13:12:19.345 | INFO | __main__:process_task:210 - 开始处理任务: 上海中心附近哪家酒店好 - 019e06003b7973139acb995b0fb6c853 |
||||
|
2026-05-08 13:12:52.343 | INFO | __main__:process_task:226 - 任务 019e06003b7973139acb995b0fb6c853 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0600c64470dcb695f963c07189cb', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '019e06003b7973139acb995b0fb6c853', 'topic_id': '019e05ff8b05725c881116ffebb933cb', 'platform_id': '6', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e06003ae372f1b79b0ed7cc3ebeb9', 'keyword': '上海中心附近哪家酒店好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0600c64470dcb695f963c11d85a8', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': 0}} |
||||
|
2026-05-08 13:12:52.760 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '14502e1cbdd7309bf799b179a879f24d', 'project_id': '019a51f51a9e70f8a2eae6efeda12ba6', 'keyword_id': '019a51f5906f735a8ea198b0a2767c1d', 'keyword': '网上开户哪个证券公司好', 'brand': '开源证券', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:12:56', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:02', 'update_time': '2026-05-08 13:12:56', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:12:52.761 | INFO | __main__:process_task:210 - 开始处理任务: 网上开户哪个证券公司好 - 14502e1cbdd7309bf799b179a879f24d |
||||
|
2026-05-08 13:13:31.166 | INFO | __main__:process_task:226 - 任务 14502e1cbdd7309bf799b179a879f24d 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0601556273239ec8997758adbdd4', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '14502e1cbdd7309bf799b179a879f24d', 'topic_id': '019a51f571a070ac8e75930b2100649e', 'platform_id': '6', 'project_id': '019a51f51a9e70f8a2eae6efeda12ba6', 'keyword_id': '019a51f5906f735a8ea198b0a2767c1d', 'keyword': '网上开户哪个证券公司好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0601556273239ec89977590be485', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e05f940f472a8b1ddddbf588c769e'}} |
||||
|
2026-05-08 13:13:31.561 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '019e06014f2d736d8bf35fcca2b4f63e', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e06014ed97172baf9cafb2953d18c', 'keyword': '后滩公园附近高端酒店哪家好', 'brand': '香格里拉', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '00:00', 'gather_filter': '2026-05-08 00:00:00', 'status': 2, 'retry_count': 0, 'screen_flag': 2, 'thinking': 0, 'is_deal': 1, 'is_init': 1, 'publish_time': '2026-05-08 13:13:34', 'screen_url': '', 'priority': 999, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 13:13:29', 'update_time': '2026-05-08 13:13:34', 'delete_time': 0, 'create_by': '019d23728d7371b4a9e336e93b059691', 'update_by': '019d23728d7371b4a9e336e93b059691', 'type': 1} |
||||
|
2026-05-08 13:13:31.562 | INFO | __main__:process_task:210 - 开始处理任务: 后滩公园附近高端酒店哪家好 - 019e06014f2d736d8bf35fcca2b4f63e |
||||
|
2026-05-08 13:14:12.287 | INFO | __main__:process_task:226 - 任务 019e06014f2d736d8bf35fcca2b4f63e 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0601fe177126b615d065fc2809f9', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '019e06014f2d736d8bf35fcca2b4f63e', 'topic_id': '019e05ff8b05725c881116ffebb933cb', 'platform_id': '6', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e06014ed97172baf9cafb2953d18c', 'keyword': '后滩公园附近高端酒店哪家好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0601fe187213a26e5d1381755fc2', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': 0}} |
||||
|
2026-05-08 13:14:12.647 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '019e0601da627047a68a80aa83c5151b', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e0601da1a73938a482209fca534f1', 'keyword': '新国际博览中心附近五星酒店有哪些', 'brand': '香格里拉', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '00:00', 'gather_filter': '2026-05-08 00:00:00', 'status': 2, 'retry_count': 0, 'screen_flag': 2, 'thinking': 0, 'is_deal': 1, 'is_init': 1, 'publish_time': '2026-05-08 13:14:16', 'screen_url': '', 'priority': 999, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 13:14:05', 'update_time': '2026-05-08 13:14:16', 'delete_time': 0, 'create_by': '019d23728d7371b4a9e336e93b059691', 'update_by': '019d23728d7371b4a9e336e93b059691', 'type': 1} |
||||
|
2026-05-08 13:14:12.647 | INFO | __main__:process_task:210 - 开始处理任务: 新国际博览中心附近五星酒店有哪些 - 019e0601da627047a68a80aa83c5151b |
||||
|
2026-05-08 13:14:36.107 | INFO | __main__:process_task:226 - 任务 019e0601da627047a68a80aa83c5151b 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e06025aeb72478b1be38956a67e11', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '019e0601da627047a68a80aa83c5151b', 'topic_id': '019e05ff8b05725c881116ffebb933cb', 'platform_id': '6', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e0601da1a73938a482209fca534f1', 'keyword': '新国际博览中心附近五星酒店有哪些', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e06025aeb72478b1be38956e35bbb', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': 0}} |
||||
|
2026-05-08 13:14:36.372 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '019e06017b5f701fb12d827ac4b4989e', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e06017aca71f0a7c43dffbe3b58b7', 'keyword': '三林滨江附近高品质酒店有哪些', 'brand': '香格里拉', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '00:00', 'gather_filter': '2026-05-08 00:00:00', 'status': 2, 'retry_count': 0, 'screen_flag': 2, 'thinking': 0, 'is_deal': 1, 'is_init': 1, 'publish_time': '2026-05-08 13:14:39', 'screen_url': '', 'priority': 999, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 13:13:40', 'update_time': '2026-05-08 13:14:39', 'delete_time': 0, 'create_by': '019d23728d7371b4a9e336e93b059691', 'update_by': '019d23728d7371b4a9e336e93b059691', 'type': 1} |
||||
|
2026-05-08 13:14:36.372 | INFO | __main__:process_task:210 - 开始处理任务: 三林滨江附近高品质酒店有哪些 - 019e06017b5f701fb12d827ac4b4989e |
||||
|
2026-05-08 13:15:02.491 | INFO | __main__:process_task:226 - 任务 019e06017b5f701fb12d827ac4b4989e 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0602c38a71dfa043b6b821b14c36', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '019e06017b5f701fb12d827ac4b4989e', 'topic_id': '019e05ff8b05725c881116ffebb933cb', 'platform_id': '6', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e06017aca71f0a7c43dffbe3b58b7', 'keyword': '三林滨江附近高品质酒店有哪些', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0602c38b73848db44aa8bf21ef25', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': 0}} |
||||
|
2026-05-08 13:15:02.859 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '019e0602bc1f71a9a6e989875675851c', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e0602bb9072cf981664169f9ed7b5', 'keyword': '香格里拉酒店会员权益有哪些', 'brand': '香格里拉', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '00:00', 'gather_filter': '2026-05-08 00:00:00', 'status': 2, 'retry_count': 0, 'screen_flag': 2, 'thinking': 0, 'is_deal': 1, 'is_init': 1, 'publish_time': '2026-05-08 13:15:06', 'screen_url': '', 'priority': 999, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 13:15:03', 'update_time': '2026-05-08 13:15:06', 'delete_time': 0, 'create_by': '019d23728d7371b4a9e336e93b059691', 'update_by': '019d23728d7371b4a9e336e93b059691', 'type': 1} |
||||
|
2026-05-08 13:15:02.859 | INFO | __main__:process_task:210 - 开始处理任务: 香格里拉酒店会员权益有哪些 - 019e0602bc1f71a9a6e989875675851c |
||||
|
2026-05-08 13:15:48.442 | INFO | __main__:process_task:226 - 任务 019e0602bc1f71a9a6e989875675851c 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e060375fb7368ae20ba61f01bc57c', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '019e0602bc1f71a9a6e989875675851c', 'topic_id': '019e06023cd07162842efee85c6e0eea', 'platform_id': '6', 'project_id': '019e05adf04473928e4b63fe917d5483', 'keyword_id': '019e0602bb9072cf981664169f9ed7b5', 'keyword': '香格里拉酒店会员权益有哪些', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e060375fb7368ae20ba61f0a5e532', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': 0}} |
||||
|
2026-05-08 13:15:48.834 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '14443017704ff09728ef911e70625d53', 'project_id': '019d01d4565672b2820129c03dec7c24', 'keyword_id': '019d01d82e4472df9fdb748f7b14a509', 'keyword': 'PingPong跨境收款到账速度快吗', 'brand': 'PingPong', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:15:52', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:04', 'update_time': '2026-05-08 13:15:52', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:15:48.834 | INFO | __main__:process_task:210 - 开始处理任务: PingPong跨境收款到账速度快吗 - 14443017704ff09728ef911e70625d53 |
||||
|
2026-05-08 13:16:12.610 | INFO | __main__:process_task:226 - 任务 14443017704ff09728ef911e70625d53 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0603d116725aae207ca999c256e7', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '14443017704ff09728ef911e70625d53', 'topic_id': '019d01d7f7a1705385fd5d53edfb8be2', 'platform_id': '6', 'project_id': '019d01d4565672b2820129c03dec7c24', 'keyword_id': '019d01d82e4472df9fdb748f7b14a509', 'keyword': 'PingPong跨境收款到账速度快吗', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0603d116725aae207ca99a1fe489', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e05dc129373129f120833c46f1906'}} |
||||
|
2026-05-08 13:16:12.876 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1412ef5cc304535dad8a46fc477aad99', 'project_id': '019df74fec257337813e2651180be6e0', 'keyword_id': '019df777e8037300a3075e11d64f0ee0', 'keyword': '去西安旅游,晚上在酒店想吃宵夜点什么外卖最好', 'brand': '美团', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:16:16', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:08', 'update_time': '2026-05-08 13:16:16', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:16:12.876 | INFO | __main__:process_task:210 - 开始处理任务: 去西安旅游,晚上在酒店想吃宵夜点什么外卖最好 - 1412ef5cc304535dad8a46fc477aad99 |
||||
|
2026-05-08 13:16:55.277 | INFO | __main__:process_task:226 - 任务 1412ef5cc304535dad8a46fc477aad99 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e06047ab4738bb5cfb10e1c1084ff', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1412ef5cc304535dad8a46fc477aad99', 'topic_id': '019df77752b9724ba2eda51c834ea934', 'platform_id': '6', 'project_id': '019df74fec257337813e2651180be6e0', 'keyword_id': '019df777e8037300a3075e11d64f0ee0', 'keyword': '去西安旅游,晚上在酒店想吃宵夜点什么外卖最好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e06047ab4738bb5cfb10e1ce9d66d', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e05962ca771f6a68176f8cdd79112'}} |
||||
|
2026-05-08 13:16:55.726 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '13d57377f2f7732ce41850b1950a1bef', 'project_id': '019dff7f56bc73499e4717797d037198', 'keyword_id': '019dffaa42e373939c70e1c77ea23484', 'keyword': '精英跑者路跑竞速鞋', 'brand': '阿迪达斯', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:16:59', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:13', 'update_time': '2026-05-08 13:16:59', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:16:55.726 | INFO | __main__:process_task:210 - 开始处理任务: 精英跑者路跑竞速鞋 - 13d57377f2f7732ce41850b1950a1bef |
||||
|
2026-05-08 13:17:50.858 | INFO | __main__:process_task:226 - 任务 13d57377f2f7732ce41850b1950a1bef 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0605541573b588151d1e0e57c2f6', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '13d57377f2f7732ce41850b1950a1bef', 'topic_id': '019dffa9cf8072d08c74a839fb0999a2', 'platform_id': '6', 'project_id': '019dff7f56bc73499e4717797d037198', 'keyword_id': '019dffaa42e373939c70e1c77ea23484', 'keyword': '精英跑者路跑竞速鞋', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0605541670748fea0af9f3c09603', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0425695d72048c074bc961693cc0'}} |
||||
|
2026-05-08 13:17:51.242 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '13a5d9fa121e9bd1af82cd7c8a67bc8b', 'project_id': '019dae7d338d7151adfe6850179c4ec5', 'keyword_id': '019dae939cb8717a8789af83c3dae212', 'keyword': '复式楼房扫地机器人', 'brand': '追觅', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:17:54', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:32', 'update_time': '2026-05-08 13:17:54', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:17:51.243 | INFO | __main__:process_task:210 - 开始处理任务: 复式楼房扫地机器人 - 13a5d9fa121e9bd1af82cd7c8a67bc8b |
||||
|
2026-05-08 13:18:29.963 | INFO | __main__:process_task:226 - 任务 13a5d9fa121e9bd1af82cd7c8a67bc8b 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0605eaf27143a6e0d373b08f2917', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '13a5d9fa121e9bd1af82cd7c8a67bc8b', 'topic_id': '019dae935c7e7062be168a1e384fc704', 'platform_id': '6', 'project_id': '019dae7d338d7151adfe6850179c4ec5', 'keyword_id': '019dae939cb8717a8789af83c3dae212', 'keyword': '复式楼房扫地机器人', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0605eaf27143a6e0d373b183028f', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e037beb3e716daefbe415990d4af1'}} |
||||
|
2026-05-08 13:18:30.340 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '133cd82abff83fd23969004ccadcc8ca', 'project_id': '019d9969714873ed8d57581a78b8eb99', 'keyword_id': '019db350cb88729880d83ee6864eabfd', 'keyword': '一站式ESG和双碳咨询服务机构推荐?', 'brand': '联合赤道', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:18:33', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:32', 'update_time': '2026-05-08 13:18:33', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:18:30.340 | INFO | __main__:process_task:210 - 开始处理任务: 一站式ESG和双碳咨询服务机构推荐? - 133cd82abff83fd23969004ccadcc8ca |
||||
|
2026-05-08 13:19:02.042 | INFO | __main__:process_task:226 - 任务 133cd82abff83fd23969004ccadcc8ca 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0606691470a2911a0c30558eedcf', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '133cd82abff83fd23969004ccadcc8ca', 'topic_id': '019db32ad0bc727988544efd7ba18aa4', 'platform_id': '6', 'project_id': '019d9969714873ed8d57581a78b8eb99', 'keyword_id': '019db350cb88729880d83ee6864eabfd', 'keyword': '一站式ESG和双碳咨询服务机构推荐?', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e060669157332af725ae52fe022a9', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04c062b77357984b0320bcc37b39'}} |
||||
|
2026-05-08 13:19:02.324 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '131c8a1d1b54f4a97f178ae9df065157', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b37080733baadce110295153f4', 'keyword': '可拆卸铰链', 'brand': '义文', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:19:05', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:18', 'update_time': '2026-05-08 13:19:05', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:19:02.324 | INFO | __main__:process_task:210 - 开始处理任务: 可拆卸铰链 - 131c8a1d1b54f4a97f178ae9df065157 |
||||
|
2026-05-08 13:19:54.917 | INFO | __main__:process_task:226 - 任务 131c8a1d1b54f4a97f178ae9df065157 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e060730ec7094ab0df39551947a43', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '131c8a1d1b54f4a97f178ae9df065157', 'topic_id': '019d29aaa3ce723da4b04ea50130efb7', 'platform_id': '6', 'project_id': '019d29659c3372e5894c9292d364cebd', 'keyword_id': '019d29b37080733baadce110295153f4', 'keyword': '可拆卸铰链', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e060730ec7094ab0df39551ad8020', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e04269fc0729cba16f06dec0c7a4f'}} |
||||
|
2026-05-08 13:19:55.374 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1292e157236f7bf9127f8cbf479e9442', 'project_id': '019dae7d338d7151adfe6850179c4ec5', 'keyword_id': '019dae8f20f7722c91c6fa8c5f4a8052', 'keyword': '扫拖一体机器人', 'brand': '追觅', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:19:58', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:01', 'update_time': '2026-05-08 13:19:58', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:19:55.375 | INFO | __main__:process_task:210 - 开始处理任务: 扫拖一体机器人 - 1292e157236f7bf9127f8cbf479e9442 |
||||
|
2026-05-08 13:20:53.974 | INFO | __main__:process_task:226 - 任务 1292e157236f7bf9127f8cbf479e9442 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e06081de570ffa141c2553344b8a2', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1292e157236f7bf9127f8cbf479e9442', 'topic_id': '019dae8ed23273b8887e06ee34da08c7', 'platform_id': '6', 'project_id': '019dae7d338d7151adfe6850179c4ec5', 'keyword_id': '019dae8f20f7722c91c6fa8c5f4a8052', 'keyword': '扫拖一体机器人', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e06081de67230ad5c79c2a2b75f98', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e053244b071ebb8af24306552a962'}} |
||||
|
2026-05-08 13:20:54.309 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '122488882f1501acb1b65d1ccae03ed4', 'project_id': '019be3ee7b907329bd9114880445cd1f', 'keyword_id': '019be4653db470b39d13449ef05a78ba', 'keyword': '哪里能找到靠谱的瓦工', 'brand': '匠猫', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:20:57', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:18', 'update_time': '2026-05-08 13:20:57', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:20:54.309 | INFO | __main__:process_task:210 - 开始处理任务: 哪里能找到靠谱的瓦工 - 122488882f1501acb1b65d1ccae03ed4 |
||||
|
2026-05-08 13:21:34.947 | INFO | __main__:process_task:226 - 任务 122488882f1501acb1b65d1ccae03ed4 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0608bf34700982ae6ceacf2b384d', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '122488882f1501acb1b65d1ccae03ed4', 'topic_id': '019be464c18a71e698407abb9bec87a2', 'platform_id': '6', 'project_id': '019be3ee7b907329bd9114880445cd1f', 'keyword_id': '019be4653db470b39d13449ef05a78ba', 'keyword': '哪里能找到靠谱的瓦工', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0608bf357204a3b238967ef4f08b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e056066ac7160ab9766f207fa5780'}} |
||||
|
2026-05-08 13:21:35.312 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '11acc75ee6b73194de0e25a827f4401f', 'project_id': '019c4209dd0971118fb04f35f866d3f1', 'keyword_id': '019c420bdada7115862875a554bf0de3', 'keyword': '澳门啤酒好喝吗', 'brand': '澳门啤酒', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:21:38', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:35', 'update_time': '2026-05-08 13:21:38', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:21:35.312 | INFO | __main__:process_task:210 - 开始处理任务: 澳门啤酒好喝吗 - 11acc75ee6b73194de0e25a827f4401f |
||||
|
2026-05-08 13:22:09.951 | INFO | __main__:process_task:226 - 任务 11acc75ee6b73194de0e25a827f4401f 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e060932427268a4141eff5abc3e27', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '11acc75ee6b73194de0e25a827f4401f', 'topic_id': '019c420baf2970079b0c31fbf5a62ef0', 'platform_id': '6', 'project_id': '019c4209dd0971118fb04f35f866d3f1', 'keyword_id': '019c420bdada7115862875a554bf0de3', 'keyword': '澳门啤酒好喝吗', 'keyword_category_id': 1, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0609324372ca83a6e62ec1dd4b27', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03ade84470949dcd8eba117440d3'}} |
||||
|
2026-05-08 13:22:10.290 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '116d6aee78acf1f93c6861a9f0053fc0', 'project_id': '019a971632d671789635186b0cf15f31', 'keyword_id': '019a97185e1b7061a523526654fff28a', 'keyword': '蒸烤一体机哪个品牌好', 'brand': '老板', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:22:13', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:19', 'update_time': '2026-05-08 13:22:13', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:22:10.291 | INFO | __main__:process_task:210 - 开始处理任务: 蒸烤一体机哪个品牌好 - 116d6aee78acf1f93c6861a9f0053fc0 |
||||
|
2026-05-08 13:22:50.682 | INFO | __main__:process_task:226 - 任务 116d6aee78acf1f93c6861a9f0053fc0 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0609e91971d6a5baed7de8ac4367', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '116d6aee78acf1f93c6861a9f0053fc0', 'topic_id': '019a9717f13773ebac0c91fe8b0b6f2d', 'platform_id': '6', 'project_id': '019a971632d671789635186b0cf15f31', 'keyword_id': '019a97185e1b7061a523526654fff28a', 'keyword': '蒸烤一体机哪个品牌好', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0609e91a7106a5192ac519e0867a', 'origin_rank': 2, 'prev_rank': 0, 'prev_id': '019e03f2abbe727f9d168d738c1127f1'}} |
||||
|
2026-05-08 13:22:51.019 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '110886cfb57164ab15493ee5549e8c88', 'project_id': '019dfd2b7ae17289a67389753c90dc97', 'keyword_id': '019dfd2d830371a2bcbc8c9dde26467a', 'keyword': '什么血糖仪最好最准确', 'brand': '华广瑞特', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:22:54', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:13', 'update_time': '2026-05-08 13:22:54', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:22:51.019 | INFO | __main__:process_task:210 - 开始处理任务: 什么血糖仪最好最准确 - 110886cfb57164ab15493ee5549e8c88 |
||||
|
2026-05-08 13:23:31.861 | INFO | __main__:process_task:226 - 任务 110886cfb57164ab15493ee5549e8c88 提交返回: {'code': 500, 'msg': '当前状态禁止提交', 'data': []} |
||||
|
2026-05-08 13:23:32.218 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '10af82026441cff452d7adbea0527754', 'project_id': '019d9969714873ed8d57581a78b8eb99', 'keyword_id': '019db33114c573e1b0536c54ef0b3e37', 'keyword': '标普CSA问卷填报辅导机构哪家专业?', 'brand': '联合赤道', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:02', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:23:35', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:59', 'update_time': '2026-05-08 13:23:35', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:23:32.218 | INFO | __main__:process_task:210 - 开始处理任务: 标普CSA问卷填报辅导机构哪家专业? - 10af82026441cff452d7adbea0527754 |
||||
|
2026-05-08 13:23:58.171 | INFO | __main__:process_task:226 - 任务 10af82026441cff452d7adbea0527754 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e060aeed572faab032ddb65a55a2c', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '10af82026441cff452d7adbea0527754', 'topic_id': '019db32ad0bc727988544efd7ba18aa4', 'platform_id': '6', 'project_id': '019d9969714873ed8d57581a78b8eb99', 'keyword_id': '019db33114c573e1b0536c54ef0b3e37', 'keyword': '标普CSA问卷填报辅导机构哪家专业?', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e060aeed67167a52a4059d8e9eb23', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e039d3dec717fa980bf0a47969005'}} |
||||
|
2026-05-08 13:23:58.560 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '1089714af50e7c598e6c7eeeedd11125', 'project_id': '019d89ec748972799b53fd73e02667ce', 'keyword_id': '019e030433f470e28a755343e2045ff2', 'keyword': '去香港買潤肺止咳保健品有什麼牌子?', 'brand': '正品藥業', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:24:01', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:26', 'update_time': '2026-05-08 13:24:01', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:23:58.560 | INFO | __main__:process_task:210 - 开始处理任务: 去香港買潤肺止咳保健品有什麼牌子? - 1089714af50e7c598e6c7eeeedd11125 |
||||
|
2026-05-08 13:24:34.138 | INFO | __main__:process_task:226 - 任务 1089714af50e7c598e6c7eeeedd11125 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e060b7ceb73fe90e6fd43b67179e6', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1089714af50e7c598e6c7eeeedd11125', 'topic_id': '019e0303d959709dbd72dd3993819010', 'platform_id': '6', 'project_id': '019d89ec748972799b53fd73e02667ce', 'keyword_id': '019e030433f470e28a755343e2045ff2', 'keyword': '去香港買潤肺止咳保健品有什麼牌子?', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e060b7cec7380951013c7012a5e70', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e03a7783e7189bdcb76c1a5f23418'}} |
||||
|
2026-05-08 13:24:34.383 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '104e23fa2ed2c07b0c22c5e81025e5f1', 'project_id': '019ddc6877a572e2b9a75e8c01c9d981', 'keyword_id': '019ddc72e06971e4a1ae896f780aa1d6', 'keyword': '高端抗衰品牌推荐', 'brand': '智美', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:24:37', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:40', 'update_time': '2026-05-08 13:24:37', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:24:34.383 | INFO | __main__:process_task:210 - 开始处理任务: 高端抗衰品牌推荐 - 104e23fa2ed2c07b0c22c5e81025e5f1 |
||||
|
2026-05-08 13:25:45.869 | INFO | __main__:process_task:226 - 任务 104e23fa2ed2c07b0c22c5e81025e5f1 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e060c9206721594df3cdbbec4f2ed', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '104e23fa2ed2c07b0c22c5e81025e5f1', 'topic_id': '019ddc72c211720bb8fb56e5b03b5f30', 'platform_id': '6', 'project_id': '019ddc6877a572e2b9a75e8c01c9d981', 'keyword_id': '019ddc72e06971e4a1ae896f780aa1d6', 'keyword': '高端抗衰品牌推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e060c920772acba939f2540b71539', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e044c859573b6b47e451acfd5c2a0'}} |
||||
|
2026-05-08 13:25:46.146 | INFO | __main__:start_task_msg:246 - 获取到任务: {'id': '0fa1e938d85432b0d0cb15c9c74684af', 'project_id': '019be46add71719f90b48d128d961455', 'keyword_id': '019be46cc56d72a1b99dbcb085a50ecc', 'keyword': '跨年礼物送男生', 'brand': 'ps5', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:25:49', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:30', 'update_time': '2026-05-08 13:25:49', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:25:46.146 | INFO | __main__:process_task:210 - 开始处理任务: 跨年礼物送男生 - 0fa1e938d85432b0d0cb15c9c74684af |
||||
|
2026-05-08 13:25:59.198 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 13:25:59.198 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 13:25:59.198 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 13:25:59.198 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 13:25:59.199 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 13:25:59.563 | INFO | __main__:start_task_msg:244 - 获取到任务: {'id': '0f84c7bf7eab8a23b5fe555c71cd2194', 'project_id': '019d85a033637384993d3c4a5f3f5cac', 'keyword_id': '019da6b0abcb7353b4d8b4a355a8de01', 'keyword': '安徽上门护理服务平台', 'brand': '熙康云医院', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:26:03', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:32:26', 'update_time': '2026-05-08 13:26:03', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:25:59.563 | INFO | __main__:process_task:208 - 开始处理任务: 安徽上门护理服务平台 - 0f84c7bf7eab8a23b5fe555c71cd2194 |
||||
|
2026-05-08 13:25:59.872 | INFO | __main__:start_task_msg:244 - 获取到任务: {'id': '0f7d8318854963bb3dfe8ce5b55e3804', 'project_id': '01994dfeb91d7344ba52ba58507cfde9', 'keyword_id': '01994dfeb93d72ec88bb4c70298ce11d', 'keyword': '干皮面霜品牌推荐', 'brand': '欧莱雅', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:26:03', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:18', 'update_time': '2026-05-08 13:26:03', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:25:59.872 | INFO | __main__:process_task:208 - 开始处理任务: 干皮面霜品牌推荐 - 0f7d8318854963bb3dfe8ce5b55e3804 |
||||
|
2026-05-08 13:25:59.889 | INFO | __main__:start_task_msg:244 - 获取到任务: {'id': '0f7b5387138bf5721e861f21eaffe9dd', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d584085711e91849654fe498963', 'keyword': 'SSL证书自动续期', 'brand': '天威诚信', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:26:03', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 13:26:03', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:25:59.889 | INFO | __main__:process_task:208 - 开始处理任务: SSL证书自动续期 - 0f7b5387138bf5721e861f21eaffe9dd |
||||
|
2026-05-08 13:25:59.892 | INFO | __main__:start_task_msg:244 - 获取到任务: {'id': '0f7b5387138bf5721e861f21eaffe9dd', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d584085711e91849654fe498963', 'keyword': 'SSL证书自动续期', 'brand': '天威诚信', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:26:03', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 13:26:03', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:25:59.892 | INFO | __main__:process_task:208 - 开始处理任务: SSL证书自动续期 - 0f7b5387138bf5721e861f21eaffe9dd |
||||
|
2026-05-08 13:25:59.948 | INFO | __main__:start_task_msg:244 - 获取到任务: {'id': '0f7d8318854963bb3dfe8ce5b55e3804', 'project_id': '01994dfeb91d7344ba52ba58507cfde9', 'keyword_id': '01994dfeb93d72ec88bb4c70298ce11d', 'keyword': '干皮面霜品牌推荐', 'brand': '欧莱雅', 'platform_id': '6', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:17', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 13:26:03', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:18', 'update_time': '2026-05-08 13:26:03', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1} |
||||
|
2026-05-08 13:25:59.948 | INFO | __main__:process_task:208 - 开始处理任务: 干皮面霜品牌推荐 - 0f7d8318854963bb3dfe8ce5b55e3804 |
||||
|
2026-05-08 13:58:44.180 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 13:58:44.650 | INFO | __main__:start_task_msg:240 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:58:46.187 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 13:58:46.546 | INFO | __main__:start_task_msg:240 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:58:48.194 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 13:58:48.524 | INFO | __main__:start_task_msg:240 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:58:50.199 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 13:58:50.489 | INFO | __main__:start_task_msg:240 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:58:52.206 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 13:58:52.518 | INFO | __main__:start_task_msg:240 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 14:01:55.356 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 14:01:55.901 | INFO | __main__:start_task_msg:240 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 14:05:45.938 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 14:05:46.612 | INFO | __main__:start_task_msg:240 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 14:05:47.948 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 14:05:48.295 | INFO | __main__:start_task_msg:240 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 14:05:49.953 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 14:05:50.173 | INFO | __main__:start_task_msg:240 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 14:05:51.967 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 14:05:52.292 | INFO | __main__:start_task_msg:240 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 14:05:53.972 | INFO | __main__:run:250 - 文心一言爬虫启动... |
||||
|
2026-05-08 14:05:54.219 | INFO | __main__:start_task_msg:240 - 没有任务数据,等待下一轮 |
||||
@ -0,0 +1,270 @@ |
|||||
|
import os |
||||
|
import json |
||||
|
import time |
||||
|
import threading |
||||
|
from datetime import datetime |
||||
|
from typing import Dict, List |
||||
|
|
||||
|
import requests |
||||
|
from loguru import logger |
||||
|
|
||||
|
from utlit.encrpty import encrypt_payload |
||||
|
from utlit.retry import retry |
||||
|
|
||||
|
# 配置日志 |
||||
|
cwd = os.path.dirname(os.path.abspath(__file__)) |
||||
|
logger.add(f"{cwd}/wxyy.log", |
||||
|
level="DEBUG", |
||||
|
rotation="00:00", |
||||
|
retention="3 days", |
||||
|
compression="zip", |
||||
|
backtrace=True) |
||||
|
|
||||
|
BASE = 'https://api.granking.com/api/third' |
||||
|
HOST = 'api.granking.com' |
||||
|
|
||||
|
|
||||
|
class ToolsLoad: |
||||
|
"""工具类:处理任务获取、提交等操作""" |
||||
|
|
||||
|
@retry('获取文心一言任务', 5, time_sleep=10) |
||||
|
def get_task(self): |
||||
|
url = f"{BASE}/getTask?app_id=aa65700299848d6f21b969dbc9f6cf7c&secret=5588071d36f0bc61af849c311a03f2c4&platform_ids=6" |
||||
|
|
||||
|
resp = requests.get(url, timeout=(5, 20)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
@retry('提交文心一言结果', 5, time_sleep=5) |
||||
|
def post_task(self, data): |
||||
|
url = f"{BASE}/submitProjectTask" |
||||
|
headers = { |
||||
|
"User-Agent": "Apifox/1.0.0", |
||||
|
"Content-Type": "application/json", |
||||
|
"Host": HOST |
||||
|
} |
||||
|
|
||||
|
resp = requests.post(url, headers=headers, json=data, timeout=(5, 300)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
@retry('获取文心一言首页cookie', 0, time_sleep=5) |
||||
|
def index(self): |
||||
|
"""获取文心一言首页cookie""" |
||||
|
url = "https://yiyan.baidu.com/" |
||||
|
headers = { |
||||
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36", |
||||
|
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", |
||||
|
"Accept-Language": "zh-CN,zh;q=0.9", |
||||
|
} |
||||
|
resp = requests.get(url, headers=headers, timeout=15, verify=False) |
||||
|
cookie_str = '; '.join([f'{k}={v}' for k, v in resp.cookies.items()]) |
||||
|
return cookie_str, resp.headers.get("Set-Cookie", "") |
||||
|
|
||||
|
@retry('文心一言对话接口', 3, time_sleep=5) |
||||
|
def conversation(self, Token, text, cookie_str): |
||||
|
"""文心一言对话接口""" |
||||
|
url = "https://yiyan.baidu.com/eb/chat/conversation/v2" |
||||
|
headers = { |
||||
|
"Host": "yiyan.baidu.com", |
||||
|
"Device-Type": "pc", |
||||
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36", |
||||
|
"Accept": "text/event-stream,application/json", |
||||
|
"Acs-Token": Token, |
||||
|
"Content-Type": "application/json", |
||||
|
"Referer": "https://yiyan.baidu.com/chat/", |
||||
|
"Cookie": cookie_str, |
||||
|
} |
||||
|
|
||||
|
post_data = { |
||||
|
"sign": Token, |
||||
|
"timestamp": int(time.time() * 1000), |
||||
|
"deviceType": "pc", |
||||
|
"text": text, |
||||
|
"sessionId": "", |
||||
|
"sessionName": text, |
||||
|
"type": 10, |
||||
|
"deepThoughtStatus": 2, |
||||
|
"model": "EB45T", |
||||
|
"parentChatId": "0", |
||||
|
"isNewYiyan": True |
||||
|
} |
||||
|
|
||||
|
answer_acc = "" |
||||
|
refs_raw: List[Dict[str, str]] = [] |
||||
|
|
||||
|
with requests.post(url, headers=headers, json=post_data, stream=True, timeout=300) as resp: |
||||
|
resp.raise_for_status() |
||||
|
resp.encoding = "utf-8" |
||||
|
|
||||
|
for raw in resp.iter_lines(decode_unicode=True): |
||||
|
if not raw or not raw.startswith("data:"): |
||||
|
continue |
||||
|
|
||||
|
data_str = raw[5:].strip() |
||||
|
if "已达文心大模型使用上限" in data_str or "用户访问被限制" in data_str: |
||||
|
return "", [] |
||||
|
|
||||
|
try: |
||||
|
ev = json.loads(data_str) |
||||
|
except Exception: |
||||
|
continue |
||||
|
|
||||
|
if ev.get("searchCitations"): |
||||
|
for c in ev.get("searchCitations", {}).get("list", []): |
||||
|
refs_raw.append({ |
||||
|
"title": c.get("title", ""), |
||||
|
"url": c.get("url", ""), |
||||
|
"name": c.get("site", ""), |
||||
|
"body": c.get("wild_abstract", ""), |
||||
|
"publishTime": c.get("date", "") |
||||
|
}) |
||||
|
|
||||
|
if isinstance(ev.get("data"), Dict): |
||||
|
content = ev.get("data").get("content") |
||||
|
if isinstance(content, str) and content: |
||||
|
answer_acc += content |
||||
|
|
||||
|
return answer_acc, refs_raw |
||||
|
|
||||
|
|
||||
|
class WenxinChatClient: |
||||
|
"""文心一言聊天客户端""" |
||||
|
|
||||
|
def __init__(self): |
||||
|
self.tools = ToolsLoad() |
||||
|
|
||||
|
def generate_token(self, baiduid): |
||||
|
"""生成Token""" |
||||
|
t = int(time.time() * 1000) |
||||
|
e = { |
||||
|
"d0": "ka0oitptemc1jfshcdsx", |
||||
|
"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)", |
||||
|
"baiduid": baiduid, |
||||
|
"platform": "Win32", |
||||
|
"clientTs": t, |
||||
|
"version": "1.4.0.3", |
||||
|
} |
||||
|
token_sign = encrypt_payload(e) |
||||
|
return f"1769396406334_{t}_{token_sign}" |
||||
|
|
||||
|
def chat(self, platform_id, keyword, brand, task_id): |
||||
|
"""执行对话任务""" |
||||
|
# logger.info(f"开始处理任务: {keyword} - {task_id}") |
||||
|
|
||||
|
cookie_str, baiduid = self.tools.index() |
||||
|
if not cookie_str: |
||||
|
logger.error("获取cookie失败") |
||||
|
return False |
||||
|
|
||||
|
# 生成Token |
||||
|
Token = self.generate_token(baiduid) |
||||
|
|
||||
|
# 执行对话 |
||||
|
answer, refs = self.tools.conversation(Token, keyword, cookie_str) |
||||
|
|
||||
|
if not answer: |
||||
|
logger.warning(f"未获取到回答: {keyword}") |
||||
|
return False |
||||
|
|
||||
|
# 构造结果 |
||||
|
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") |
||||
|
result = { |
||||
|
"app_id": "aa65700299848d6f21b969dbc9f6cf7c", |
||||
|
"secret": "5588071d36f0bc61af849c311a03f2c4", |
||||
|
"platform_id": platform_id, |
||||
|
"platform_name": "文心一言", |
||||
|
"prompt": keyword, |
||||
|
"keyword": brand, |
||||
|
"answer": answer, |
||||
|
"search_result": refs, |
||||
|
"run_status": True, |
||||
|
"task_id": task_id, |
||||
|
"rank": 0, |
||||
|
"start_time": now, |
||||
|
"end_time": now, |
||||
|
"screenshot_url": "", |
||||
|
"words": [] |
||||
|
} |
||||
|
|
||||
|
return result |
||||
|
|
||||
|
|
||||
|
class Start: |
||||
|
"""主启动类""" |
||||
|
|
||||
|
def __init__(self): |
||||
|
self.tools = ToolsLoad() |
||||
|
self.client = WenxinChatClient() |
||||
|
|
||||
|
@retry('处理文心一言任务', for_work=10, time_sleep=10) |
||||
|
def process_task(self, task): |
||||
|
"""处理单个任务""" |
||||
|
task_id = task.get("id", "") |
||||
|
keyword = task.get("keyword", "") |
||||
|
platform_id = task.get("platform_id", "") |
||||
|
brand = task.get("brand", "") |
||||
|
|
||||
|
logger.info(f"开始处理任务: {keyword} - {task_id}") |
||||
|
|
||||
|
# 执行对话获取结果 |
||||
|
result = self.client.chat( |
||||
|
platform_id=platform_id, |
||||
|
keyword=keyword, |
||||
|
brand=brand, |
||||
|
task_id=task_id |
||||
|
) |
||||
|
|
||||
|
if not result: |
||||
|
logger.warning(f"任务结果为空,重新处理: {keyword}") |
||||
|
return False |
||||
|
print(result) |
||||
|
# 提交结果 |
||||
|
post_resp = self.tools.post_task(result) |
||||
|
logger.info(f"任务 {task_id} 提交返回: {post_resp}") |
||||
|
|
||||
|
return result |
||||
|
|
||||
|
@retry('主运行窗口', for_work=3, time_sleep=5) |
||||
|
def start_task_msg(self): |
||||
|
"""获取并处理任务""" |
||||
|
task_resp = self.tools.get_task() |
||||
|
|
||||
|
if not task_resp: |
||||
|
logger.info("get_task 未返回有效数据,等待后重试") |
||||
|
time.sleep(5) |
||||
|
return True |
||||
|
|
||||
|
tasks = task_resp.get("data", False) |
||||
|
if not tasks: |
||||
|
logger.info("没有任务数据,等待下一轮") |
||||
|
time.sleep(30) |
||||
|
return True |
||||
|
|
||||
|
logger.info(f"获取到任务: {tasks}") |
||||
|
|
||||
|
return self.process_task(tasks) |
||||
|
|
||||
|
def run(self): |
||||
|
"""主循环""" |
||||
|
logger.info("文心一言爬虫启动...") |
||||
|
while True: |
||||
|
try: |
||||
|
self.start_task_msg() |
||||
|
except Exception as e: |
||||
|
logger.error(f"主循环异常: {e}") |
||||
|
time.sleep(10) |
||||
|
|
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
from threading import Thread |
||||
|
|
||||
|
ts = [] |
||||
|
for i in range(5): |
||||
|
t = Thread(target=Start().run) |
||||
|
ts.append(t) |
||||
|
t.start() |
||||
|
|
||||
|
time.sleep(2) |
||||
|
for t in ts: |
||||
|
t.join() |
||||
@ -0,0 +1,844 @@ |
|||||
|
2026-05-08 08:56:06.331 | INFO | __main__:run:429 - 元宝爬虫启动... |
||||
|
2026-05-08 08:56:06.707 | INFO | __main__:start_task_msg:412 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': 'f80f59bdcf22f605c7ee9e7690c183df', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d584ec872f488837f10839d20ba', 'keyword': 'SSL证书自动化平台', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 08:56:09', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 08:56:09', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 08:56:06.709 | INFO | __main__:process_task:361 - 开始处理任务: SSL证书自动化平台 - f80f59bdcf22f605c7ee9e7690c183df |
||||
|
2026-05-08 08:56:06.764 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 08:56:36.833 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 08:57:06.893 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 08:57:36.963 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 08:58:07.026 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 08:58:37.096 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 08:59:07.158 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 08:59:37.221 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:00:07.284 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:00:37.353 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:01:07.407 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:01:37.460 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:02:07.518 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:02:37.581 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:03:07.650 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:03:37.706 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:04:07.761 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:04:37.816 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:05:07.882 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:05:37.950 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:06:08.010 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:06:38.069 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:07:08.133 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:07:38.189 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:08:08.256 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:08:38.317 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:09:08.391 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:09:38.473 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:10:08.541 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:10:38.604 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:28:12.888 | INFO | __main__:run:453 - 元宝爬虫启动... |
||||
|
2026-05-08 09:28:13.211 | INFO | __main__:start_task_msg:436 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': 'eae667b18486a7183545cf1940a13e25', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d57f47a739f978a8123e09f38d8', 'keyword': 'SSL证书服务商', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 09:28:16', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 09:28:16', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 09:28:13.212 | INFO | __main__:process_task:385 - 开始处理任务: SSL证书服务商 - eae667b18486a7183545cf1940a13e25 |
||||
|
2026-05-08 09:28:13.265 | WARNING | __main__:get_cookie:66 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:28:32.862 | INFO | __main__:run:453 - 元宝爬虫启动... |
||||
|
2026-05-08 09:28:33.245 | INFO | __main__:start_task_msg:436 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': 'da72a770d9a8eb3620206284f02cd045', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d585b067286b080888f3bf801bf', 'keyword': '国密SSL证书', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 09:28:36', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 09:28:36', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 09:28:33.246 | INFO | __main__:process_task:385 - 开始处理任务: 国密SSL证书 - da72a770d9a8eb3620206284f02cd045 |
||||
|
2026-05-08 09:28:33.299 | ERROR | __main__:process_task:395 - Cookie 获取失败 |
||||
|
2026-05-08 09:28:35.313 | INFO | __main__:process_task:385 - 开始处理任务: 国密SSL证书 - da72a770d9a8eb3620206284f02cd045 |
||||
|
2026-05-08 09:28:35.355 | ERROR | __main__:process_task:395 - Cookie 获取失败 |
||||
|
2026-05-08 09:28:37.357 | INFO | __main__:process_task:385 - 开始处理任务: 国密SSL证书 - da72a770d9a8eb3620206284f02cd045 |
||||
|
2026-05-08 09:28:37.416 | ERROR | __main__:process_task:395 - Cookie 获取失败 |
||||
|
2026-05-08 09:28:39.425 | INFO | __main__:process_task:385 - 开始处理任务: 国密SSL证书 - da72a770d9a8eb3620206284f02cd045 |
||||
|
2026-05-08 09:28:39.470 | ERROR | __main__:process_task:395 - Cookie 获取失败 |
||||
|
2026-05-08 09:28:41.489 | INFO | __main__:process_task:385 - 开始处理任务: 国密SSL证书 - da72a770d9a8eb3620206284f02cd045 |
||||
|
2026-05-08 09:29:13.486 | INFO | __main__:run:452 - 元宝爬虫启动... |
||||
|
2026-05-08 09:29:13.942 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': 'd2b00c3582963a852d2aea3e68f67bf3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d57f47a739f978a8123e09f38d8', 'keyword': 'SSL证书服务商', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 09:29:16', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 09:29:16', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 09:29:13.943 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书服务商 - d2b00c3582963a852d2aea3e68f67bf3 |
||||
|
2026-05-08 09:29:21.726 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 09:29:22.990 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 09:29:23.148 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 09:29:44.195 | INFO | __main__:create_conversation:229 - 创建会话成功: 154e3cca-70dd-467a-94e3-df51bedbcf42 |
||||
|
2026-05-08 09:31:24.541 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2265 |
||||
|
2026-05-08 09:34:30.142 | INFO | __main__:process_task:412 - 答案预览: 目前市面上的 SSL 证书服务商主要可以分为**国际权威 CA 机构**、**国内持牌 CA 机构**以及**云服务商/代理商**三大类。你可以根据业务场景(如是否需国密合规、是否面向国际用户)来选择... |
||||
|
2026-05-08 09:34:32.804 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书服务商", "keyword": "天威诚信", "answer": "目前市面上的 SSL |
||||
|
2026-05-08 09:34:42.261 | INFO | __main__:process_task:419 - 任务 d2b00c3582963a852d2aea3e68f67bf3 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0538f20b7281bb2dbf79d79272dc', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': 'd2b00c3582963a852d2aea3e68f67bf3', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d57f47a739f978a8123e09f38d8', 'keyword': 'SSL证书服务商', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0538f20b7281bb2dbf79d7ab0ee1', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019ddf3d2ddb725194d29261df736296'}} |
||||
|
2026-05-08 09:35:16.012 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': 'c6d9369bea0784e97af7ea5c71674d50', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d584085711e91849654fe498963', 'keyword': 'SSL证书自动续期', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 09:35:18', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 09:35:18', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 09:35:16.013 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书自动续期 - c6d9369bea0784e97af7ea5c71674d50 |
||||
|
2026-05-08 09:37:50.009 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 09:37:50.009 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 09:37:50.167 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 09:37:50.310 | INFO | __main__:create_conversation:229 - 创建会话成功: 529af0c6-dd7d-406a-83b6-89a2ad5b7bc9 |
||||
|
2026-05-08 09:38:11.554 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 1776 |
||||
|
2026-05-08 09:38:11.554 | INFO | __main__:process_task:412 - 答案预览: SSL 证书自动续期主要分为**免费证书(如 Let's Encrypt)的自建脚本续期**和**云厂商付费证书的托管续期**两种场景,你可以根据自己的使用情况选择对应的方案: |
||||
|
|
||||
|
## 一、免费证书(... |
||||
|
2026-05-08 09:40:26.526 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书自动续期", "keyword": "天威诚信", "answer": "SSL 证书自动续 |
||||
|
2026-05-08 09:41:04.619 | INFO | __main__:process_task:419 - 任务 c6d9369bea0784e97af7ea5c71674d50 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e053eab9a726b9b1f21fd728771f9', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': 'c6d9369bea0784e97af7ea5c71674d50', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d584085711e91849654fe498963', 'keyword': 'SSL证书自动续期', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e053eab9b71a3becfbf60ac60d14b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019ddf3f7bb3703cb75c2aa24d94b333'}} |
||||
|
2026-05-08 09:41:44.639 | INFO | __main__:run:452 - 元宝爬虫启动... |
||||
|
2026-05-08 09:41:45.086 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': 'bbeacebb6c240debadeec4360e4bcf5f', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d5830e77041bb896e56dd4e3e40', 'keyword': 'SSL证书购买', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 09:41:47', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 09:41:47', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 09:41:45.086 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书购买 - bbeacebb6c240debadeec4360e4bcf5f |
||||
|
2026-05-08 09:41:45.139 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:42:15.201 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:42:45.259 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:43:15.317 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:43:45.376 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:44:15.431 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:44:45.494 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:45:15.555 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:45:45.637 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:46:15.698 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:46:45.762 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:47:15.811 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:47:45.867 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:48:15.925 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:48:45.991 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:49:16.045 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:49:46.107 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:50:16.172 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:50:46.244 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:51:16.309 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:51:46.368 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:52:16.457 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:52:46.525 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:53:16.611 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:53:46.672 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:54:16.742 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:54:46.816 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:55:16.872 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:55:46.961 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:56:17.033 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:56:47.112 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:57:17.175 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:57:47.245 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:58:17.302 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:58:47.361 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:59:17.419 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 09:59:47.485 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:00:17.557 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:00:47.640 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:01:17.698 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:01:47.763 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:02:17.819 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:02:47.896 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:03:17.964 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:03:48.022 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:04:18.102 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:04:48.154 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:05:18.228 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:05:48.316 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:06:18.379 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:06:48.446 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:07:18.515 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:07:48.576 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:08:18.643 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:08:48.704 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:09:18.764 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:09:48.849 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:10:18.919 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:10:48.993 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:11:19.060 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:11:49.156 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:12:19.221 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:12:49.277 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:13:19.353 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:13:49.421 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:14:19.487 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:14:49.562 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:15:19.617 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:15:49.683 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:16:19.743 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:16:49.814 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:17:19.884 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:17:49.947 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:18:20.008 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:18:50.072 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:19:20.145 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:19:50.213 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:20:20.271 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:20:50.343 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:21:20.412 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:21:50.473 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:22:20.537 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:22:50.610 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:23:20.680 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:23:50.755 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:24:20.823 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:24:50.872 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:25:20.945 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:25:51.012 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:26:21.074 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:26:51.149 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:27:21.205 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:27:51.270 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:28:21.336 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:28:51.406 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:29:21.465 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:29:51.530 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:30:21.614 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:30:51.682 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:31:21.734 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:31:51.795 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:32:21.855 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:32:51.943 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:33:22.012 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:33:52.087 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:34:22.155 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:34:52.224 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:35:22.286 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:35:52.349 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:36:22.423 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:36:52.491 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:37:22.558 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:37:52.620 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:38:22.685 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:38:52.783 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:39:22.845 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:39:52.917 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:40:22.989 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:40:53.043 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:41:23.101 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:41:53.204 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:42:23.272 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:42:53.350 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:43:23.410 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:43:53.465 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:44:23.527 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:44:53.619 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:45:23.684 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:45:53.755 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:46:23.850 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:46:53.914 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:47:24.010 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:47:54.077 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:48:24.146 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:48:54.199 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:49:24.281 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:49:54.389 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:50:24.463 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:50:54.515 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:51:24.585 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:51:54.657 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:52:24.717 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:52:54.781 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:53:24.871 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:53:54.936 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:54:24.995 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:54:55.062 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:55:25.129 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:55:55.193 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:56:25.266 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:56:55.351 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:57:25.415 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:57:55.479 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:58:25.569 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:58:55.632 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:59:25.717 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 10:59:55.780 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:00:25.851 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:00:55.910 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:01:25.970 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:01:56.040 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:02:26.115 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:02:56.177 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:03:26.262 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:03:56.334 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:04:26.404 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:04:56.493 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:05:26.545 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:05:56.608 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:06:26.667 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:06:56.723 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:07:26.770 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:07:56.828 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:08:26.891 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:08:56.952 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:09:27.014 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:09:57.075 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:10:27.128 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:10:57.210 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:11:27.265 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:11:57.326 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:12:27.386 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:12:57.445 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:13:27.510 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:13:57.572 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:14:27.629 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:14:57.688 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:15:27.748 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:15:57.806 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:16:27.882 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:16:57.953 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:17:28.008 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:17:58.071 | WARNING | __main__:get_cookie:67 - 没有获取到cookie: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:18:24.999 | INFO | __main__:run:452 - 元宝爬虫启动... |
||||
|
2026-05-08 11:18:25.407 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': 'b183f6ad37fb9b5e8ed386524459db7d', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d58213d704da4e8e2a2849d827d', 'keyword': 'SSL证书一年多少钱', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:18:28', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 11:18:28', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:18:25.407 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书一年多少钱 - b183f6ad37fb9b5e8ed386524459db7d |
||||
|
2026-05-08 11:18:25.459 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:18:25.459 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:18:25.611 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:18:25.738 | INFO | __main__:create_conversation:229 - 创建会话成功: e750ef98-b585-45c6-a6af-73be04bf65c0 |
||||
|
2026-05-08 11:18:42.255 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 1867 |
||||
|
2026-05-08 11:18:42.255 | INFO | __main__:process_task:412 - 答案预览: SSL证书的价格跨度很大,**从免费到每年数万元不等**,具体取决于验证等级、品牌和保护的域名数量。以下是2026年的市场参考价格: |
||||
|
|
||||
|
### 1. 免费证书 |
||||
|
- **Let's Encrypt 等*... |
||||
|
2026-05-08 11:18:42.255 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书一年多少钱", "keyword": "天威诚信", "answer": "SSL证书的价格 |
||||
|
2026-05-08 11:18:44.139 | INFO | __main__:process_task:419 - 任务 b183f6ad37fb9b5e8ed386524459db7d 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0598453a714ca520271f336f7d07', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': 'b183f6ad37fb9b5e8ed386524459db7d', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d58213d704da4e8e2a2849d827d', 'keyword': 'SSL证书一年多少钱', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0598453a714ca520271f33f0626b', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019ddf4102fe7060b9c1debe632bbbc0'}} |
||||
|
2026-05-08 11:18:44.560 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': 'a1abc36c204a536688f473281ff67f89', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d584ec872f488837f10839d20ba', 'keyword': 'SSL证书自动化平台', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:18:47', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 11:18:47', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:18:44.561 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书自动化平台 - a1abc36c204a536688f473281ff67f89 |
||||
|
2026-05-08 11:18:44.615 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:18:44.615 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:18:44.797 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:18:44.929 | INFO | __main__:create_conversation:229 - 创建会话成功: d074857c-2536-44f3-928c-877ec4daf917 |
||||
|
2026-05-08 11:19:04.019 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2174 |
||||
|
2026-05-08 11:19:04.020 | INFO | __main__:process_task:412 - 答案预览: SSL证书自动化平台的核心目标是解决传统人工申请、部署、续期证书繁琐且易因遗忘导致业务中断的痛点,尤其是在当前SSL证书有效期逐渐缩短(未来将迈向47天短周期)的背景下,自动化管理已成为必然趋势[](... |
||||
|
2026-05-08 11:19:04.020 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书自动化平台", "keyword": "天威诚信", "answer": "SSL证书自动化 |
||||
|
2026-05-08 11:19:05.165 | INFO | __main__:process_task:419 - 任务 a1abc36c204a536688f473281ff67f89 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059899cd7318bb84e918958d581c', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': 'a1abc36c204a536688f473281ff67f89', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d584ec872f488837f10839d20ba', 'keyword': 'SSL证书自动化平台', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059899ce70d092f98ca032345fe1', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019ddf3e4d937156a61109f3d8907c97'}} |
||||
|
2026-05-08 11:19:05.523 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': '7c53eb1e920df76e6788bb49a80a5e8b', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d58213d704da4e8e2a2849d827d', 'keyword': 'SSL证书一年多少钱', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:19:08', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 11:19:08', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:19:05.524 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书一年多少钱 - 7c53eb1e920df76e6788bb49a80a5e8b |
||||
|
2026-05-08 11:19:05.603 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:19:05.603 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:19:05.710 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:19:05.833 | INFO | __main__:create_conversation:229 - 创建会话成功: d0b50207-fce7-4684-a367-5043da8d4321 |
||||
|
2026-05-08 11:19:24.761 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2271 |
||||
|
2026-05-08 11:19:24.762 | INFO | __main__:process_task:412 - 答案预览: SSL证书的价格跨度很大,从**完全免费**到**每年上万元**都有,具体取决于你需要的**验证等级**、**保护的域名数量**以及**品牌**。 |
||||
|
|
||||
|
### 1. 免费证书(适合个人、测试、轻量应用)... |
||||
|
2026-05-08 11:19:24.762 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书一年多少钱", "keyword": "天威诚信", "answer": "SSL证书的价格 |
||||
|
2026-05-08 11:19:26.146 | INFO | __main__:process_task:419 - 任务 7c53eb1e920df76e6788bb49a80a5e8b 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0598ead77345805faa3c263c80c4', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '7c53eb1e920df76e6788bb49a80a5e8b', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d58213d704da4e8e2a2849d827d', 'keyword': 'SSL证书一年多少钱', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0598ead77345805faa3c26c2fae8', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0598453a714ca520271f336f7d07'}} |
||||
|
2026-05-08 11:19:26.564 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': '71f70f869d135c5f7dfb476aacc1427c', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d584085711e91849654fe498963', 'keyword': 'SSL证书自动续期', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:19:29', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 11:19:29', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:19:26.565 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书自动续期 - 71f70f869d135c5f7dfb476aacc1427c |
||||
|
2026-05-08 11:19:26.615 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:19:26.615 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:19:26.722 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:19:26.858 | INFO | __main__:create_conversation:229 - 创建会话成功: 0ca9adfc-d5f7-4853-8408-9cecad6dd8eb |
||||
|
2026-05-08 11:19:47.273 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2380 |
||||
|
2026-05-08 11:19:47.275 | INFO | __main__:process_task:412 - 答案预览: SSL 证书自动续期的实现方式,主要取决于你使用的证书类型(免费/付费)和服务器环境。目前最主流的方案是使用 **Certbot(Let's Encrypt)** 进行全自动续期,云厂商的付费证书通常... |
||||
|
2026-05-08 11:19:47.275 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书自动续期", "keyword": "天威诚信", "answer": "SSL 证书自动续 |
||||
|
2026-05-08 11:19:48.741 | INFO | __main__:process_task:419 - 任务 71f70f869d135c5f7dfb476aacc1427c 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059942ad72f294c320d7b4bfe0f6', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '71f70f869d135c5f7dfb476aacc1427c', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d584085711e91849654fe498963', 'keyword': 'SSL证书自动续期', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059942ad72f294c320d7b5b233c6', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e053eab9a726b9b1f21fd728771f9'}} |
||||
|
2026-05-08 11:19:48.990 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': '711c4ac732bbfdaee02a2e360f7eea49', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d57e33e71fbb26e6295012da569', 'keyword': 'SSL证书推荐', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:19:52', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 11:19:52', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:19:48.991 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书推荐 - 711c4ac732bbfdaee02a2e360f7eea49 |
||||
|
2026-05-08 11:19:49.045 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:19:49.045 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:19:49.196 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:19:49.452 | INFO | __main__:create_conversation:229 - 创建会话成功: 557806c6-e399-451e-80e2-c5f462e05775 |
||||
|
2026-05-08 11:20:08.960 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2179 |
||||
|
2026-05-08 11:20:08.962 | INFO | __main__:process_task:412 - 答案预览: 选 SSL 证书没有绝对的“最好”,核心是根据你的**业务场景、预算和合规要求**来匹配。可以从免费、国际商业、国产合规三个方向来考虑: |
||||
|
|
||||
|
## 一、 免费证书:个人项目与测试首选 |
||||
|
- **推荐**:... |
||||
|
2026-05-08 11:20:08.962 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书推荐", "keyword": "天威诚信", "answer": "选 SSL 证书没有绝 |
||||
|
2026-05-08 11:20:10.079 | INFO | __main__:process_task:419 - 任务 711c4ac732bbfdaee02a2e360f7eea49 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0599978271828a09bcb541891971', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '711c4ac732bbfdaee02a2e360f7eea49', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d57e33e71fbb26e6295012da569', 'keyword': 'SSL证书推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0599978371708667a9bc87391fd3', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019ddf3cc01870b6bccabc7ed33265df'}} |
||||
|
2026-05-08 11:20:10.484 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': '70c9f29d24f0b563f6465de29dfced8d', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d57cc18704fba3c7f236890bdd8', 'keyword': 'SSL证书品牌', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:20:13', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 11:20:13', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:20:10.484 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书品牌 - 70c9f29d24f0b563f6465de29dfced8d |
||||
|
2026-05-08 11:20:10.535 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:20:10.535 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:20:10.688 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:20:10.822 | INFO | __main__:create_conversation:229 - 创建会话成功: c3d83c94-bb3a-4308-8f55-23b45e8bc0ab |
||||
|
2026-05-08 11:20:33.570 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2550 |
||||
|
2026-05-08 11:20:33.570 | INFO | __main__:process_task:412 - 答案预览: 目前市面上主流的SSL证书品牌主要分为**国际权威品牌**、**国产合规品牌**和**免费开源品牌**三大类,它们均通过WebTrust等国际审计,被Chrome、Firefox、Safari等主流浏... |
||||
|
2026-05-08 11:20:33.570 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书品牌", "keyword": "天威诚信", "answer": "目前市面上主流的SSL |
||||
|
2026-05-08 11:20:34.604 | INFO | __main__:process_task:419 - 任务 70c9f29d24f0b563f6465de29dfced8d 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e0599f7aa7368b831604b5af5b1da', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '70c9f29d24f0b563f6465de29dfced8d', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d57cc18704fba3c7f236890bdd8', 'keyword': 'SSL证书品牌', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e0599f7ab73e283ff02ea8affb9c7', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019ddf3e9fff73aa9720322df0de32b9'}} |
||||
|
2026-05-08 11:20:34.998 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': '6eb9afd6090e2d0d0a7ac041dfa37938', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d5830e77041bb896e56dd4e3e40', 'keyword': 'SSL证书购买', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:20:38', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 11:20:38', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:20:34.998 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书购买 - 6eb9afd6090e2d0d0a7ac041dfa37938 |
||||
|
2026-05-08 11:20:35.050 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:20:35.050 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:20:35.165 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:20:35.284 | INFO | __main__:create_conversation:229 - 创建会话成功: 05e751e2-1b4c-474c-8a98-5705872e6aee |
||||
|
2026-05-08 11:20:55.539 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2520 |
||||
|
2026-05-08 11:20:55.539 | INFO | __main__:process_task:412 - 答案预览: 购买 SSL 证书前,最核心的是先明确你的**验证等级需求**(是个人博客还是要展示企业名称)和**域名数量**(一个域名还是带有大量子域名),这直接决定了价格和购买类型。 |
||||
|
|
||||
|
### 一、 先选证书类... |
||||
|
2026-05-08 11:20:55.540 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书购买", "keyword": "天威诚信", "answer": "购买 SSL 证书前, |
||||
|
2026-05-08 11:20:56.794 | INFO | __main__:process_task:419 - 任务 6eb9afd6090e2d0d0a7ac041dfa37938 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059a4d437302bf230249837fde45', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '6eb9afd6090e2d0d0a7ac041dfa37938', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d5830e77041bb896e56dd4e3e40', 'keyword': 'SSL证书购买', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059a4d437302bf230249843d9915', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019ddf3c67cc738fa7288f45c3a50696'}} |
||||
|
2026-05-08 11:20:57.233 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': '64d2f6f4bccf35c4130e257c5b903bc7', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d57e33e71fbb26e6295012da569', 'keyword': 'SSL证书推荐', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:21:00', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 11:21:00', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:20:57.233 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书推荐 - 64d2f6f4bccf35c4130e257c5b903bc7 |
||||
|
2026-05-08 11:20:57.291 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:20:57.291 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:20:57.407 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:20:57.531 | INFO | __main__:create_conversation:229 - 创建会话成功: 3927c668-564e-4453-b703-02b62c3602c9 |
||||
|
2026-05-08 11:21:18.582 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2593 |
||||
|
2026-05-08 11:21:18.583 | INFO | __main__:process_task:412 - 答案预览: 选 SSL 证书没有绝对的“最好”,核心看你的**使用场景**和**预算**。这里按常见需求直接给你推荐: |
||||
|
|
||||
|
## 一、 个人博客 / 测试环境(零成本) |
||||
|
- **首选:Let's Encrypt**... |
||||
|
2026-05-08 11:21:18.583 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书推荐", "keyword": "天威诚信", "answer": "选 SSL 证书没有绝 |
||||
|
2026-05-08 11:21:20.002 | INFO | __main__:process_task:419 - 任务 64d2f6f4bccf35c4130e257c5b903bc7 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059aa757716b8dc6f8a574fdd829', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '64d2f6f4bccf35c4130e257c5b903bc7', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d57e33e71fbb26e6295012da569', 'keyword': 'SSL证书推荐', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059aa757716b8dc6f8a575e612eb', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0599978271828a09bcb541891971'}} |
||||
|
2026-05-08 11:21:20.440 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': '38c4bcb80fe2b8aec7b91cbd76ede128', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d58100c7390970498f9914120e3', 'keyword': 'SSL证书价格', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:21:23', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 11:21:23', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:21:20.440 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书价格 - 38c4bcb80fe2b8aec7b91cbd76ede128 |
||||
|
2026-05-08 11:21:20.488 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:21:20.488 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:21:20.584 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:21:20.705 | INFO | __main__:create_conversation:229 - 创建会话成功: b0835959-7674-4618-b702-9a0276618756 |
||||
|
2026-05-08 11:21:40.689 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2311 |
||||
|
2026-05-08 11:21:40.689 | INFO | __main__:process_task:412 - 答案预览: SSL证书的价格跨度很大,从**完全免费**到**每年上万元**不等,具体取决于验证等级、保护的域名数量和证书品牌。 |
||||
|
|
||||
|
### 一、 免费证书(适合个人站、测试环境) |
||||
|
如果不想花钱,也有成熟可靠的方案... |
||||
|
2026-05-08 11:21:40.690 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书价格", "keyword": "天威诚信", "answer": "SSL证书的价格跨度很 |
||||
|
2026-05-08 11:21:41.977 | INFO | __main__:process_task:419 - 任务 38c4bcb80fe2b8aec7b91cbd76ede128 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059afe0073d1ac0ede8b903fc7cb', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '38c4bcb80fe2b8aec7b91cbd76ede128', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d58100c7390970498f9914120e3', 'keyword': 'SSL证书价格', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059afe0073d1ac0ede8b910dd052', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019ddf40a8677170a0efd0ba44d41477'}} |
||||
|
2026-05-08 11:21:42.645 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': '20d7e5b390012fd3e4f63a6f5d5d943b', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d586db1728f9d20e238aec83e49', 'keyword': 'OV通配符SSL证书', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:21:45', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 11:21:45', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:21:42.645 | INFO | __main__:process_task:384 - 开始处理任务: OV通配符SSL证书 - 20d7e5b390012fd3e4f63a6f5d5d943b |
||||
|
2026-05-08 11:21:42.698 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:21:42.700 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:21:42.812 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:21:42.945 | INFO | __main__:create_conversation:229 - 创建会话成功: 8bd628ae-0f17-4e7e-a56c-7d0633db14a0 |
||||
|
2026-05-08 11:21:59.453 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 1725 |
||||
|
2026-05-08 11:21:59.455 | INFO | __main__:process_task:412 - 答案预览: **OV通配符SSL证书**(Organization Validation Wildcard SSL Certificate)是一种结合了“组织身份验证”与“通配符域名保护”的企业级SSL证书。简单... |
||||
|
2026-05-08 11:21:59.456 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "OV通配符SSL证书", "keyword": "天威诚信", "answer": "**OV通配符S |
||||
|
2026-05-08 11:22:00.816 | INFO | __main__:process_task:419 - 任务 20d7e5b390012fd3e4f63a6f5d5d943b 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059b47b37143af38880685c26035', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '20d7e5b390012fd3e4f63a6f5d5d943b', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d586db1728f9d20e238aec83e49', 'keyword': 'OV通配符SSL证书', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059b47b37143af388806866baae3', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019ddf3fdbd270cd87f7987b51b9bf9b'}} |
||||
|
2026-05-08 11:22:01.356 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': '1044fa6e3e52852e7269be0fe4da9cc8', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d585b067286b080888f3bf801bf', 'keyword': '国密SSL证书', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:22:04', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 11:22:04', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:22:01.356 | INFO | __main__:process_task:384 - 开始处理任务: 国密SSL证书 - 1044fa6e3e52852e7269be0fe4da9cc8 |
||||
|
2026-05-08 11:22:01.424 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:22:01.424 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:22:01.559 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:22:01.682 | INFO | __main__:create_conversation:229 - 创建会话成功: 47a91c08-9cec-48d0-82f2-e176d5ca4e39 |
||||
|
2026-05-08 11:22:25.678 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2714 |
||||
|
2026-05-08 11:22:25.679 | INFO | __main__:process_task:412 - 答案预览: **国密SSL证书**(又称GMSSL证书)是指采用中国自主研发的商用密码算法(SM系列算法,主要是SM2/SM3/SM4)签发的SSL/TLS数字证书。它的核心目的是在满足国家《密码法》、等保2.0... |
||||
|
2026-05-08 11:22:25.679 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "国密SSL证书", "keyword": "天威诚信", "answer": "**国密SSL证书** |
||||
|
2026-05-08 11:22:27.486 | INFO | __main__:process_task:419 - 任务 1044fa6e3e52852e7269be0fe4da9cc8 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059bad9a730995d3f616e9a4a196', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '1044fa6e3e52852e7269be0fe4da9cc8', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d585b067286b080888f3bf801bf', 'keyword': '国密SSL证书', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059bad9b714fb50983c9034560ee', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019ddf3de7fe73319dac4db5d92802cd'}} |
||||
|
2026-05-08 11:22:27.948 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': '0d487c9a06504226bb3fbf4c1f503c59', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d586db1728f9d20e238aec83e49', 'keyword': 'OV通配符SSL证书', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:22:31', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 11:22:31', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:22:27.949 | INFO | __main__:process_task:384 - 开始处理任务: OV通配符SSL证书 - 0d487c9a06504226bb3fbf4c1f503c59 |
||||
|
2026-05-08 11:22:28.031 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:22:28.031 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:22:28.169 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:22:28.288 | INFO | __main__:create_conversation:229 - 创建会话成功: 76ebd500-1adb-43dd-9f59-360b9a25bea4 |
||||
|
2026-05-08 11:22:45.811 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 1826 |
||||
|
2026-05-08 11:22:45.811 | INFO | __main__:process_task:412 - 答案预览: OV通配符SSL证书(Organization Validation Wildcard SSL Certificate)是一种**兼具“企业身份核验”与“无限子域名覆盖”能力**的HTTPS加密证书,... |
||||
|
2026-05-08 11:22:45.811 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "OV通配符SSL证书", "keyword": "天威诚信", "answer": "OV通配符SSL |
||||
|
2026-05-08 11:22:47.708 | INFO | __main__:process_task:419 - 任务 0d487c9a06504226bb3fbf4c1f503c59 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059bfc9273a6aa5369affb2a8645', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '0d487c9a06504226bb3fbf4c1f503c59', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d586db1728f9d20e238aec83e49', 'keyword': 'OV通配符SSL证书', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059bfc9273a6aa5369affc01ab4d', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e059b47b37143af38880685c26035'}} |
||||
|
2026-05-08 11:22:48.064 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': '0d00a549479770ae88d8d501e181ab2d', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d57cc18704fba3c7f236890bdd8', 'keyword': 'SSL证书品牌', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:22:51', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 11:22:51', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:22:48.065 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书品牌 - 0d00a549479770ae88d8d501e181ab2d |
||||
|
2026-05-08 11:22:48.120 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:22:48.120 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:22:48.285 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:22:48.410 | INFO | __main__:create_conversation:229 - 创建会话成功: a71d4300-ebbc-4e11-9788-5243351e6016 |
||||
|
2026-05-08 11:23:08.139 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2152 |
||||
|
2026-05-08 11:23:08.142 | INFO | __main__:process_task:412 - 答案预览: 市面上主流的SSL证书品牌主要分为**国际品牌**和**国产品牌**两大类,选择时通常取决于你的预算、业务地域以及对国密算法的合规要求。 |
||||
|
|
||||
|
### 🌍 国际主流品牌 |
||||
|
- **DigiCert**:行业... |
||||
|
2026-05-08 11:23:08.143 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书品牌", "keyword": "天威诚信", "answer": "市面上主流的SSL证书 |
||||
|
2026-05-08 11:23:10.028 | INFO | __main__:process_task:419 - 任务 0d00a549479770ae88d8d501e181ab2d 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059c53c3725394f4414cc1c1949a', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '0d00a549479770ae88d8d501e181ab2d', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d57cc18704fba3c7f236890bdd8', 'keyword': 'SSL证书品牌', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059c53c47333adc1b935128db0e6', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0599f7aa7368b831604b5af5b1da'}} |
||||
|
2026-05-08 11:23:10.425 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': '047ae08a3911ca0c06e0f2c224624a73', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d58100c7390970498f9914120e3', 'keyword': 'SSL证书价格', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 0, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:23:13', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 11:23:13', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:23:10.425 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书价格 - 047ae08a3911ca0c06e0f2c224624a73 |
||||
|
2026-05-08 11:23:10.478 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:23:10.478 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:23:10.589 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:23:10.718 | INFO | __main__:create_conversation:229 - 创建会话成功: f08010b6-0a01-4248-83cd-1bc34e90bc4d |
||||
|
2026-05-08 11:23:27.014 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2203 |
||||
|
2026-05-08 11:23:27.015 | INFO | __main__:process_task:412 - 答案预览: SSL证书的价格跨度很大,从**完全免费**到**每年上万元**不等,具体取决于验证等级、品牌和保护的域名数量。 |
||||
|
|
||||
|
### 一、免费证书(适合个人站、测试环境) |
||||
|
如果不想花钱,也有成熟可靠的方案: |
||||
|
-... |
||||
|
2026-05-08 11:23:27.015 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书价格", "keyword": "天威诚信", "answer": "SSL证书的价格跨度很 |
||||
|
2026-05-08 11:23:28.441 | INFO | __main__:process_task:419 - 任务 047ae08a3911ca0c06e0f2c224624a73 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059c9cfd733bb78de77b370c50d7', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': '047ae08a3911ca0c06e0f2c224624a73', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d58100c7390970498f9914120e3', 'keyword': 'SSL证书价格', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059c9cfe7237a9b043be99371e7f', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e059afe0073d1ac0ede8b903fc7cb'}} |
||||
|
2026-05-08 11:23:28.841 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': 'f80f59bdcf22f605c7ee9e7690c183df', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d584ec872f488837f10839d20ba', 'keyword': 'SSL证书自动化平台', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 1, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:23:31', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 11:23:31', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:23:28.841 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书自动化平台 - f80f59bdcf22f605c7ee9e7690c183df |
||||
|
2026-05-08 11:23:28.894 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:23:28.894 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:23:29.008 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:23:29.158 | INFO | __main__:create_conversation:229 - 创建会话成功: 59fe3a73-e213-49fd-a2de-0e28559ae805 |
||||
|
2026-05-08 11:23:50.830 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2303 |
||||
|
2026-05-08 11:23:50.831 | INFO | __main__:process_task:412 - 答案预览: SSL证书自动化平台的核心目标是解决传统人工申请、部署、续期SSL证书时效率低、易过期、管理混乱的痛点,尤其是面对未来SSL证书有效期可能缩短至47天的行业趋势,自动化管理已从“可选项”变成“必选项”... |
||||
|
2026-05-08 11:23:50.831 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书自动化平台", "keyword": "天威诚信", "answer": "SSL证书自动化 |
||||
|
2026-05-08 11:23:52.195 | INFO | __main__:process_task:419 - 任务 f80f59bdcf22f605c7ee9e7690c183df 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059cfa5a719bb34b664fdde0ce2e', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': 'f80f59bdcf22f605c7ee9e7690c183df', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d584ec872f488837f10839d20ba', 'keyword': 'SSL证书自动化平台', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059cfa5b7338a7e8b14ef141804d', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e059899cd7318bb84e918958d581c'}} |
||||
|
2026-05-08 11:23:52.595 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': 'eae667b18486a7183545cf1940a13e25', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d57f47a739f978a8123e09f38d8', 'keyword': 'SSL证书服务商', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 1, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:23:55', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 11:23:55', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:23:52.595 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书服务商 - eae667b18486a7183545cf1940a13e25 |
||||
|
2026-05-08 11:23:52.638 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:23:52.638 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:23:52.750 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:23:52.894 | INFO | __main__:create_conversation:229 - 创建会话成功: 25130841-0c7c-4d3a-b1a6-c5143985ae5d |
||||
|
2026-05-08 11:24:14.484 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2529 |
||||
|
2026-05-08 11:24:14.485 | INFO | __main__:process_task:412 - 答案预览: 市面上的 SSL 证书服务商主要可以分为**国际权威 CA**、**国内持牌 CA** 以及**云厂商/代理商**三大类,你可以根据业务合规要求、预算和部署便捷性来选择: |
||||
|
|
||||
|
### 一、 国际知名 C... |
||||
|
2026-05-08 11:24:14.485 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书服务商", "keyword": "天威诚信", "answer": "市面上的 SSL 证 |
||||
|
2026-05-08 11:24:15.760 | INFO | __main__:process_task:419 - 任务 eae667b18486a7183545cf1940a13e25 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059d56ac72018c48fed5f9e3bfb5', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': 'eae667b18486a7183545cf1940a13e25', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d57f47a739f978a8123e09f38d8', 'keyword': 'SSL证书服务商', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059d56ac72018c48fed5fa9f91f9', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e0538f20b7281bb2dbf79d79272dc'}} |
||||
|
2026-05-08 11:24:16.157 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': 'da72a770d9a8eb3620206284f02cd045', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d585b067286b080888f3bf801bf', 'keyword': '国密SSL证书', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:30:01', 'status': 2, 'retry_count': 1, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:24:19', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:30:29', 'update_time': '2026-05-08 11:24:19', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:24:16.157 | INFO | __main__:process_task:384 - 开始处理任务: 国密SSL证书 - da72a770d9a8eb3620206284f02cd045 |
||||
|
2026-05-08 11:24:16.208 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:24:16.208 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:24:16.337 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:24:16.466 | INFO | __main__:create_conversation:229 - 创建会话成功: 674a4198-15e1-4b18-82e6-acfb3eca9b72 |
||||
|
2026-05-08 11:24:38.460 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 2549 |
||||
|
2026-05-08 11:24:38.461 | INFO | __main__:process_task:412 - 答案预览: **国密SSL证书**(GMSSL Certificate)是采用我国国家密码管理局发布的SM系列国产密码算法(主要是SM2、SM3、SM4)签发的数字证书。它的核心作用是建立符合国家标准的HTTPS... |
||||
|
2026-05-08 11:24:38.461 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "国密SSL证书", "keyword": "天威诚信", "answer": "**国密SSL证书** |
||||
|
2026-05-08 11:24:39.330 | INFO | __main__:process_task:419 - 任务 da72a770d9a8eb3620206284f02cd045 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059db44872a5a6cbcdced3c5a60a', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': 'da72a770d9a8eb3620206284f02cd045', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d585b067286b080888f3bf801bf', 'keyword': '国密SSL证书', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059db44872a5a6cbcdced4b1470d', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e059bad9a730995d3f616e9a4a196'}} |
||||
|
2026-05-08 11:24:39.543 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': 'bbeacebb6c240debadeec4360e4bcf5f', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d5830e77041bb896e56dd4e3e40', 'keyword': 'SSL证书购买', 'brand': '天威诚信', 'platform_id': '3', 'gather_date': '2026-05-08', 'gather_time': '06:00', 'gather_filter': '2026-05-08 00:31:18', 'status': 2, 'retry_count': 1, 'screen_flag': 1, 'thinking': 1, 'is_deal': 1, 'is_init': 2, 'publish_time': '2026-05-08 11:24:42', 'screen_url': '', 'priority': 3, 'start_time': None, 'end_time': None, 'create_time': '2026-05-08 00:31:51', 'update_time': '2026-05-08 11:24:42', 'delete_time': 0, 'create_by': '', 'update_by': '', 'type': 1}} |
||||
|
2026-05-08 11:24:39.543 | INFO | __main__:process_task:384 - 开始处理任务: SSL证书购买 - bbeacebb6c240debadeec4360e4bcf5f |
||||
|
2026-05-08 11:24:39.602 | DEBUG | __main__:process_task:399 - h38: 59a9d3d32ae7eba8b030a74b0200000d91a507 |
||||
|
2026-05-08 11:24:39.602 | INFO | __main__:get_sign:136 - 正在获取新的签名... |
||||
|
2026-05-08 11:24:39.736 | INFO | __main__:get_sign:156 - 签名获取成功: X-Uskey=DCAxFeb05pDmvvCtOP3B8IOqDrUH5%... |
||||
|
2026-05-08 11:24:39.866 | INFO | __main__:create_conversation:229 - 创建会话成功: ce2f2f6d-d84d-4b6c-ab7f-b64cda36d523 |
||||
|
2026-05-08 11:24:57.120 | INFO | __main__:stream_chat:315 - 对话完成,答案长度: 1864 |
||||
|
2026-05-08 11:24:57.121 | INFO | __main__:process_task:412 - 答案预览: 购买 SSL 证书主要看你的**使用场景**、**验证等级**和**域名数量**。目前主流云厂商(阿里云、腾讯云)和专业的证书服务商都能直接购买,价格从免费到上万元不等。 |
||||
|
|
||||
|
### 1. 先选验证等级... |
||||
|
2026-05-08 11:24:57.121 | DEBUG | __main__:process_task:416 - 提交结果: {"app_id": "aa65700299848d6f21b969dbc9f6cf7c", "secret": "5588071d36f0bc61af849c311a03f2c4", "platform_id": "3", "platform_name": "腾讯元宝", "prompt": "SSL证书购买", "keyword": "天威诚信", "answer": "购买 SSL 证书主要 |
||||
|
2026-05-08 11:24:58.548 | INFO | __main__:process_task:419 - 任务 bbeacebb6c240debadeec4360e4bcf5f 提交返回: {'code': 0, 'msg': '提交成功', 'data': {'id': '019e059dfd3371419d29840c84c04c82', 'project_type': 1, 'res_type': 1, 'spider_type': 1, 'task_id': 'bbeacebb6c240debadeec4360e4bcf5f', 'topic_id': '019c2d57c464739c99c95a37cf85c91e', 'platform_id': '3', 'project_id': '019c2d57093771e0827c5e32bc94bf84', 'keyword_id': '019c2d5830e77041bb896e56dd4e3e40', 'keyword': 'SSL证书购买', 'keyword_category_id': 2, 'gather_time': '2026-05-08 06:10:15', 'gather_date': '2026-05-08', 'port': 1, 'img_url': '', 'rank': 0, 'content_id': '019e059dfd347173a9ee6bf60cd13091', 'origin_rank': 0, 'prev_rank': 0, 'prev_id': '019e059a4d437302bf230249837fde45'}} |
||||
|
2026-05-08 11:24:58.869 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:24:58.869 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:25:34.442 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:25:34.442 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:26:30.435 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:26:30.436 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:27:02.976 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:27:02.976 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:27:41.327 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:27:41.327 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:28:31.751 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:28:31.751 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:29:09.262 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:29:09.262 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:29:47.553 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:29:47.553 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:30:22.251 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:30:22.251 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:31:13.650 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:31:13.650 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:31:51.215 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:31:51.216 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:32:21.468 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:32:21.468 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:32:52.347 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:32:52.347 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:33:39.404 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:33:39.406 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:34:32.655 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:34:32.655 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:35:20.433 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:35:20.433 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:35:57.498 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:35:57.498 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:36:44.721 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:36:44.721 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:37:18.234 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:37:18.234 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:38:07.123 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:38:07.123 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:39:05.601 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:39:05.602 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:39:36.721 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:39:36.721 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:40:30.393 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:40:30.394 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:41:08.890 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:41:08.891 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:41:55.311 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:41:55.311 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:42:30.103 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:42:30.103 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:43:19.100 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:43:19.100 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:43:56.787 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:43:56.788 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:44:35.223 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:44:35.223 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:45:14.662 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:45:14.662 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:46:03.779 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:46:03.779 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:47:03.139 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:47:03.139 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:47:50.447 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:47:50.448 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:48:33.531 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:48:33.531 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:49:25.500 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:49:25.500 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:50:02.488 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:50:02.488 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:50:37.936 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:50:37.936 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:51:11.948 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:51:11.948 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:52:03.237 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:52:03.237 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:52:51.729 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:52:51.729 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:53:37.225 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:53:37.225 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:54:30.091 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:54:30.091 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:55:09.450 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:55:09.451 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:55:43.872 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:55:43.873 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:56:40.476 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:56:40.476 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:57:13.300 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:57:13.301 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:58:01.553 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:58:01.553 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:58:55.269 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:58:55.269 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 11:59:41.555 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 11:59:41.556 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:00:15.317 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:00:15.317 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:00:49.152 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:00:49.153 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:01:32.153 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:01:32.154 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:02:10.047 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:02:10.048 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:02:58.175 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:02:58.175 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:03:39.009 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:03:39.010 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:04:12.895 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:04:12.896 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:05:03.477 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:05:03.477 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:05:50.197 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:05:50.197 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:06:32.518 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:06:32.518 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:07:17.298 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:07:17.298 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:08:05.906 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:08:05.906 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:09:03.995 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:09:03.995 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:09:54.563 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:09:54.563 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:10:36.752 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:10:36.753 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:11:26.033 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:11:26.033 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:12:21.635 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:12:21.636 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:13:00.709 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:13:00.709 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:13:47.815 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:13:47.815 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:14:44.137 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:14:44.138 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:15:32.392 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:15:32.392 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:16:06.334 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:16:06.334 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:16:49.252 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:16:49.252 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:17:35.338 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:17:35.338 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:18:27.420 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:18:27.420 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:19:20.219 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:19:20.220 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:20:00.811 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:20:00.812 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:20:40.060 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:20:40.061 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:21:10.724 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:21:10.724 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:22:02.615 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:22:02.616 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:22:39.171 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:22:39.171 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:23:32.089 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:23:32.089 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:24:21.677 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:24:21.677 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:25:08.592 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:25:08.592 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:25:51.252 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:25:51.253 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:26:27.467 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:26:27.467 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:27:14.199 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:27:14.199 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:28:02.685 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:28:02.685 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:28:56.696 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:28:56.697 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:29:55.841 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:29:55.842 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:30:52.751 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:30:52.751 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:31:42.503 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:31:42.503 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:32:17.491 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:32:17.491 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:33:09.296 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:33:09.296 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:33:40.602 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:33:40.602 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:34:36.343 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:34:36.343 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:35:31.738 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:35:31.738 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:36:22.837 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:36:22.838 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:37:01.217 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:37:01.217 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:37:44.231 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:37:44.232 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:38:34.367 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:38:34.367 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:39:28.829 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:39:28.829 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:40:03.181 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:40:03.181 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:40:41.205 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:40:41.205 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:41:36.541 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:41:36.541 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:42:23.460 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:42:23.460 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:43:01.746 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:43:01.746 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:43:54.890 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:43:54.890 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:44:47.125 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:44:47.125 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:45:40.504 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:45:40.504 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:46:18.352 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:46:18.352 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:47:02.839 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:47:02.839 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:47:59.329 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:47:59.329 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:48:51.645 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:48:51.646 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:49:39.952 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:49:39.953 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:50:34.104 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:50:34.104 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:51:29.741 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:51:29.742 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:52:08.320 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:52:08.320 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:52:53.642 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:52:53.642 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:53:45.006 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:53:45.006 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:54:33.083 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:54:33.083 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:55:28.758 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:55:28.758 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:56:02.479 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:56:02.480 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:56:37.680 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:56:37.680 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:57:23.621 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:57:23.622 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:58:07.049 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:58:07.049 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:58:45.736 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:58:45.736 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 12:59:18.878 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 12:59:18.878 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:00:15.734 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:00:15.734 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:01:00.272 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:01:00.273 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:01:54.953 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:01:54.953 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:02:40.825 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:02:40.826 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:03:32.862 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:03:32.862 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:04:32.835 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:04:32.835 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:05:31.666 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:05:31.666 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:06:16.598 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:06:16.599 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:06:56.536 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:06:56.536 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:07:36.992 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:07:36.992 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:08:08.484 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:08:08.484 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:08:53.219 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:08:53.219 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:09:26.783 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:09:26.783 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:10:08.832 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:10:08.832 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:10:54.045 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:10:54.046 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:11:29.739 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:11:29.740 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:12:09.726 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:12:09.726 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:13:09.957 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:13:09.957 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:13:48.301 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:13:48.301 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:14:47.072 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:14:47.073 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:15:37.209 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:15:37.209 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:16:34.818 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:16:34.818 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:17:19.677 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:17:19.678 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:17:55.908 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:17:55.908 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:18:31.514 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:18:31.514 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:19:19.051 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:19:19.051 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:20:13.462 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:20:13.463 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:21:11.091 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:21:11.093 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:22:08.613 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:22:08.613 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:22:41.288 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:22:41.288 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:23:30.358 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:23:30.359 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:24:06.357 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:24:06.357 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:24:56.402 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:24:56.402 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:25:54.930 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:25:54.930 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:26:46.669 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:26:46.669 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:27:26.337 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:27:26.339 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:28:15.157 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:28:15.157 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:28:48.899 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:28:48.901 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:29:44.013 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:29:44.014 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:30:19.885 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:30:19.885 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:31:17.653 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:31:17.654 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:32:00.847 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:32:00.847 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:32:38.874 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:32:38.875 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:33:28.769 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:33:28.770 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:34:10.221 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:34:10.222 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:35:06.024 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:35:06.024 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:35:48.323 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:35:48.324 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:36:35.204 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:36:35.204 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:37:24.399 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:37:24.399 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:38:02.563 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:38:02.563 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:38:42.750 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:38:42.750 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:39:38.636 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:39:38.637 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:40:23.768 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:40:23.768 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 13:58:44.139 | INFO | __main__:run:452 - 元宝爬虫启动... |
||||
|
2026-05-08 13:58:44.564 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 13:58:44.564 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 14:01:55.319 | INFO | __main__:run:452 - 元宝爬虫启动... |
||||
|
2026-05-08 14:01:55.916 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 14:01:55.916 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
|
2026-05-08 14:05:45.903 | INFO | __main__:run:452 - 元宝爬虫启动... |
||||
|
2026-05-08 14:05:46.707 | INFO | __main__:start_task_msg:435 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} |
||||
|
2026-05-08 14:05:46.707 | INFO | __main__:start_task_msg:444 - 没有任务数据,等待下一轮 |
||||
@ -0,0 +1,462 @@ |
|||||
|
import json |
||||
|
import random |
||||
|
import re |
||||
|
import time |
||||
|
from datetime import datetime |
||||
|
from typing import Dict, List, Optional, Tuple |
||||
|
|
||||
|
import requests |
||||
|
from loguru import logger |
||||
|
|
||||
|
from utlit.retry import retry |
||||
|
|
||||
|
# 日志配置 |
||||
|
import os |
||||
|
|
||||
|
cwd = os.path.dirname(os.path.abspath(__file__)) |
||||
|
logger.add(f"{cwd}/yuanbao.log", |
||||
|
level="DEBUG", |
||||
|
rotation="00:00", |
||||
|
retention="3 days", |
||||
|
compression="zip", |
||||
|
backtrace=True) |
||||
|
|
||||
|
|
||||
|
class YuanbaoConfig: |
||||
|
"""元宝配置常量""" |
||||
|
# API 基础地址 |
||||
|
API_BASE = 'http://granking-api.neicela.com' |
||||
|
TASK_BASE = 'https://api.granking.com' |
||||
|
|
||||
|
# 应用凭证 |
||||
|
APP_ID = 'aa65700299848d6f21b969dbc9f6cf7c' |
||||
|
SECRET = '5588071d36f0bc61af849c311a03f2c4' |
||||
|
|
||||
|
# 签名服务地址 |
||||
|
SIGN_URL = 'http://yuanbao-sign.granking-spider.neicela.com:45000/eval_js/get_sign' |
||||
|
|
||||
|
# 设备信息 |
||||
|
AGENT_ID = 'naQivTmsDa' |
||||
|
|
||||
|
# 平台配置 |
||||
|
PLATFORM_ID = '3' |
||||
|
PLATFORM_NAME = '腾讯元宝' |
||||
|
|
||||
|
|
||||
|
class ToolsLoad: |
||||
|
"""工具类:处理 Cookie、Session、任务等""" |
||||
|
|
||||
|
@retry('获取元宝 cookie', 0, time_sleep=30) |
||||
|
def get_cookie(self, platform_id: str = "3", category: str = "1") -> Optional[Dict]: |
||||
|
"""获取 Cookie""" |
||||
|
url = (f'{YuanbaoConfig.API_BASE}/api/third/getOneSpiderSession' |
||||
|
f'?platform_id={platform_id}' |
||||
|
f'&app_id={YuanbaoConfig.APP_ID}' |
||||
|
f'&secret={YuanbaoConfig.SECRET}' |
||||
|
f'&category={category}') |
||||
|
|
||||
|
headers = { |
||||
|
'Authorization': 'Bearer ', |
||||
|
'User-Agent': 'Apifox/1.0.0 (http://apifox.com)' |
||||
|
} |
||||
|
|
||||
|
response = requests.get(url, headers=headers, timeout=15).json() |
||||
|
# return {'cookie':'_qimei_uuid42=1a5070e1600100bd2ae7eba8b030a74b46a515b160; _qimei_i_3=71c55184975a52da90c2ad390a8775b1f6e8f1f2145902d7b0d97b0e25c0726f353766943989e2bd8891; _qimei_h38=59a9d3d32ae7eba8b030a74b0200000d91a507; _ga=GA1.1.1074115897.1778134923; hy_user=3cd3834f60454aae961686d99bd45549; hy_token=8tE8bq6InCxff5mUqQZfc9aGHP6NPD80Cr/k258SiLJ0SRKVmpnUylkLLyDfCVTFvK/7nB+MZYTNT4Uqlq+s6Yp7BfDrLLADcMuiFDyFIujvz9fR3gbpcIY5v+CNwvpTDNXFFk6lQbRa8O8SLtfTtbbQL8M9a2giBaeONY84++bOHuFV/DuvBdLlXCBJfPYpfGYtVchTW4YU9oQbqUyA0UWEpnNfUcETr42GANzVByxFBvxY4M2sjBD3IdxPdqggd8vPpdTTzqwWnHihA8iQfQg+3rnxhtxA3TVszDbGBWYYsuC0fFOlYLhmBawgBfRzQj/21JvGMmnkgM6qQHj5kWNernwXqQEUgtYZJ5RG5c78bygYn1crOJxIPdtVEII9a9A5+wnKpkvGVcSaFUF83VbLafUADz6R8dfb99iD3S++VdlzDuqgewwnpBM1CAQDtXkTJoHId89+buL6mHvElKwFERjDE6JTUF4upi/LkoYd0uLUXGUAZ3JONQQUjW/T8u21Vr5tIK4KE0mPZDuj8dex9AdvXuQc6El49TgsPJNzOsbITDF6/gg8+rrrmqTBaAE9ufahRNyJD5Y+X3LA325N/zbwdmi710P9FKNYr15V9lOGVFImjUJy5bMlXykmskxLs+T5KjvI8Q+bcApUhsPfFG4AcVnrzu0lplNCTCY=; hy_source=web; _qimei_fingerprint=aa9b6f323b563e55df336a26e51bc99e; _qimei_i_1=79e746879c0b598fc2c3fd320ad174b5a5bfaca3125803d3b38b7a582493206c6163639c39d8e7dcd1a4fae3; _ga_6P1G7NCG3R=GS2.1.s1778201894$o4$g1$t1778203143$j60$l0$h1300909130','id':'0'} |
||||
|
|
||||
|
if response.get("data") is None or response.get("data") == []: |
||||
|
logger.warning(f'没有获取到cookie: {response}') |
||||
|
return False |
||||
|
|
||||
|
logger.info(f'成功获取到cookie: {response.get("data", {}).get("id", "")}') |
||||
|
|
||||
|
return response.get("data") |
||||
|
|
||||
|
@retry('上传cookie状态', 5) |
||||
|
def update_session(self, session_id: str, reload_time: str, status: str = "4") -> str: |
||||
|
"""更新 Session 状态""" |
||||
|
url = (f'{YuanbaoConfig.API_BASE}/api/third/updateSpiderSession' |
||||
|
f'?app_id={YuanbaoConfig.APP_ID}&secret={YuanbaoConfig.SECRET}') |
||||
|
|
||||
|
payload = { |
||||
|
"id": session_id, |
||||
|
"status": status, |
||||
|
"reload_time": reload_time |
||||
|
} |
||||
|
|
||||
|
headers = { |
||||
|
'Authorization': 'Bearer ', |
||||
|
'User-Agent': 'Apifox/1.0.0 (http://apifox.com)', |
||||
|
'Content-Type': 'application/json' |
||||
|
} |
||||
|
|
||||
|
response = requests.post(url, json=payload, headers=headers, timeout=15) |
||||
|
logger.debug(f'更新session响应: {response.text}') |
||||
|
return response.text |
||||
|
|
||||
|
@retry('提交结果', 5) |
||||
|
def post_task(self, data: Dict) -> Dict: |
||||
|
"""提交任务结果""" |
||||
|
url = f"{YuanbaoConfig.TASK_BASE}/api/third/submitProjectTask" |
||||
|
resp = requests.post(url, json=data, timeout=(5, 300)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
@retry('获取task消息', 5) |
||||
|
def get_task(self) -> Dict: |
||||
|
"""获取任务""" |
||||
|
url = (f"{YuanbaoConfig.TASK_BASE}/api/third/getTask" |
||||
|
f"?app_id={YuanbaoConfig.APP_ID}" |
||||
|
f"&secret={YuanbaoConfig.SECRET}" |
||||
|
f"&platform_ids=3") |
||||
|
resp = requests.get(url, timeout=(5, 20)) |
||||
|
resp.raise_for_status() |
||||
|
return resp.json() |
||||
|
|
||||
|
@retry('更新任务状态', 5) |
||||
|
def update_task_status(self, task_id: str, status: str) -> Dict: |
||||
|
"""更新任务状态""" |
||||
|
url = (f"{YuanbaoConfig.TASK_BASE}/api/third/updateTask" |
||||
|
f"?app_id={YuanbaoConfig.APP_ID}&secret={YuanbaoConfig.SECRET}") |
||||
|
return requests.post(url, json={'task_id': task_id, 'status': status}, |
||||
|
headers={'Content-Type': 'application/json'}, timeout=15).json() |
||||
|
|
||||
|
|
||||
|
class YuanbaoSignClient: |
||||
|
"""签名客户端:调用远程签名服务获取签名""" |
||||
|
|
||||
|
def __init__(self): |
||||
|
self.sign_url = YuanbaoConfig.SIGN_URL |
||||
|
self._cache = None |
||||
|
self._cache_ts = 0 |
||||
|
self.cache_ttl = 50 # 缓存有效期(秒) |
||||
|
|
||||
|
@retry('获取签名', 3, time_sleep=5) |
||||
|
def get_sign(self, force: bool = False) -> Dict: |
||||
|
"""获取签名,带缓存""" |
||||
|
logger.info('正在获取新的签名...') |
||||
|
response = requests.post(self.sign_url, timeout=30) |
||||
|
response.raise_for_status() |
||||
|
|
||||
|
result = response.json() |
||||
|
|
||||
|
if result.get('code') != 0: |
||||
|
raise RuntimeError(f'签名服务返回错误: {result}') |
||||
|
|
||||
|
sign_data = result.get('data', {}) |
||||
|
|
||||
|
# 验证必要字段 |
||||
|
required_fields = ['X-Uskey', 'X-Bus-Params-Md5', 'X-Timestamp', 'hy92', 'hy93'] |
||||
|
for field in required_fields: |
||||
|
if field not in sign_data: |
||||
|
raise RuntimeError(f'签名数据缺少字段: {field}') |
||||
|
|
||||
|
self._cache = sign_data |
||||
|
self._cache_ts = time.time() |
||||
|
|
||||
|
logger.info(f'签名获取成功: X-Uskey={sign_data["X-Uskey"][:30]}...') |
||||
|
return sign_data |
||||
|
|
||||
|
|
||||
|
class YuanbaoChatClient: |
||||
|
"""元宝聊天客户端""" |
||||
|
|
||||
|
def __init__(self, cookie: str, sign_data: Dict, h38: str): |
||||
|
self.cookie = cookie |
||||
|
self.sign_data = sign_data |
||||
|
self.h38 = h38 |
||||
|
|
||||
|
self.agent_id = YuanbaoConfig.AGENT_ID |
||||
|
|
||||
|
def _base_headers(self) -> Dict: |
||||
|
"""构建基础请求头""" |
||||
|
devid = YuanbaoTaskProcessor.parse_cookies(self.cookie, '_qimei_uuid42') |
||||
|
return { |
||||
|
'Host': 'yuanbao.tencent.com', |
||||
|
'Connection': 'keep-alive', |
||||
|
'X-device-id': devid, |
||||
|
'X-Instance-ID': '5', |
||||
|
'sec-ch-ua-mobile': '?0', |
||||
|
'X-Language': 'zh-CN', |
||||
|
'X-Requested-With': 'XMLHttpRequest', |
||||
|
'X-AgentID': self.agent_id, |
||||
|
# 'x-commit-tag': 'd6af7421', |
||||
|
'X-Platform': 'win', |
||||
|
'X-Uskey': self.sign_data['X-Uskey'], |
||||
|
'X-Bus-Params-Md5': self.sign_data['X-Bus-Params-Md5'], |
||||
|
'X-Timestamp': str(self.sign_data['X-Timestamp']), |
||||
|
'X-os_version': 'Windows(10)-Blink', |
||||
|
'X-Source': 'web', |
||||
|
'X-ybuitest': '0', |
||||
|
'X-HY92': self.h38, |
||||
|
'X-HY93': devid, |
||||
|
'X-webdriver': '0', |
||||
|
'X-HY106': '', |
||||
|
"x-webversion": "2.67.1", |
||||
|
'User-Agent': ('Mozilla/5.0 (Windows NT 10.0; Win64; x64) ' |
||||
|
'AppleWebKit/537.36 (KHTML, like Gecko) ' |
||||
|
'Chrome/144.0.0.0 Safari/537.36'), |
||||
|
'Origin': 'https://yuanbao.tencent.com', |
||||
|
'Sec-Fetch-Site': 'same-origin', |
||||
|
'Sec-Fetch-Mode': 'cors', |
||||
|
'Sec-Fetch-Dest': 'empty', |
||||
|
'Accept-Encoding': 'gzip, deflate, br, zstd', |
||||
|
'Accept-Language': 'zh-CN,zh;q=0.9', |
||||
|
'Cookie': self.cookie, |
||||
|
} |
||||
|
|
||||
|
@retry('创建会话', 3, time_sleep=5) |
||||
|
def create_conversation(self) -> str: |
||||
|
"""创建会话,返回会话ID""" |
||||
|
url = 'https://yuanbao.tencent.com/api/user/agent/conversation/create' |
||||
|
headers = self._base_headers() |
||||
|
user_id = YuanbaoTaskProcessor.parse_cookies(self.cookie, 'hy_user') |
||||
|
headers.update({ |
||||
|
'Accept': 'application/json, text/plain, */*', |
||||
|
'Content-Type': 'application/json', |
||||
|
'X-ID': user_id, |
||||
|
'T-UserID': user_id |
||||
|
}) |
||||
|
|
||||
|
resp = requests.post(url, json={'agentId': self.agent_id}, headers=headers, timeout=30) |
||||
|
resp.raise_for_status() |
||||
|
|
||||
|
result = resp.json() |
||||
|
conv_id = result.get('id', '') |
||||
|
|
||||
|
if not conv_id: |
||||
|
raise RuntimeError(f'创建会话失败: {result}') |
||||
|
|
||||
|
logger.info(f'创建会话成功: {conv_id}') |
||||
|
return conv_id |
||||
|
|
||||
|
@retry('流式对话', 3, time_sleep=5) |
||||
|
def stream_chat(self, conv_id: str, keyword: str) -> Tuple[str, List[Dict]]: |
||||
|
"""流式对话,返回答案和引用""" |
||||
|
url = f'https://yuanbao.tencent.com/api/chat/{conv_id}' |
||||
|
headers = self._base_headers() |
||||
|
|
||||
|
headers.update({ |
||||
|
"x-agentid": f"{self.agent_id}/{conv_id}", |
||||
|
'Content-Type': 'text/plain;charset=UTF-8', |
||||
|
'Accept': '*/*', |
||||
|
'X-Trid-Channel': 'undefined', |
||||
|
'chat_version': 'v1', |
||||
|
'x-web-ch-id': 'null', |
||||
|
'Referer': f'https://yuanbao.tencent.com/chat/{self.agent_id}' |
||||
|
}) |
||||
|
|
||||
|
body = { |
||||
|
"model": "gpt_175B_0404", |
||||
|
"prompt": keyword, |
||||
|
"plugin": "Adaptive", |
||||
|
"displayPrompt": keyword, |
||||
|
"displayPromptType": 1, |
||||
|
"agentId": "naQivTmsDa", |
||||
|
"isTemporary": False, |
||||
|
"projectId": "", |
||||
|
"chatModelId": "hunyuan_gpt_175B_0404", |
||||
|
"supportFunctions": [ |
||||
|
"openAutoSearchSwitch", |
||||
|
"autoInternetSearch" |
||||
|
], |
||||
|
"docOpenid": "", |
||||
|
"options": { |
||||
|
"imageIntention": { |
||||
|
"needIntentionModel": True, |
||||
|
"backendUpdateFlag": 2, |
||||
|
"intentionStatus": True |
||||
|
} |
||||
|
}, |
||||
|
"multimedia": [], |
||||
|
"supportHint": 1, |
||||
|
"chatModelExtInfo": "{\"modelId\":\"hunyuan_gpt_175B_0404\",\"subModelId\":\"\",\"supportFunctions\":{\"internetSearch\":\"\"},\"internetSearch\":\"autoInternetSearch\"}", |
||||
|
"applicationIdList": [], |
||||
|
"version": "v2", |
||||
|
"extReportParams": None, |
||||
|
"isAtomInput": False, |
||||
|
"offsetOfHour": 8, |
||||
|
"offsetOfMinute": 0 |
||||
|
} |
||||
|
body = json.dumps(body, ensure_ascii=False, separators=(',', ':')) |
||||
|
|
||||
|
answer_parts = [] |
||||
|
citations = [] |
||||
|
|
||||
|
with requests.post(url, data=body.encode('utf-8'), headers=headers, |
||||
|
stream=True, timeout=60) as r: |
||||
|
r.encoding = 'utf-8' |
||||
|
if r.status_code != 200: |
||||
|
raise RuntimeError(f'HTTP {r.status_code}: {r.text[:200]}') |
||||
|
|
||||
|
r.raw.decode_content = True |
||||
|
for line in r.iter_lines(decode_unicode=True): |
||||
|
if not line or not line.startswith('data:'): |
||||
|
continue |
||||
|
|
||||
|
raw = line[5:].strip() |
||||
|
if not raw.startswith('{'): |
||||
|
continue |
||||
|
|
||||
|
try: |
||||
|
obj = json.loads(raw) |
||||
|
except Exception: |
||||
|
continue |
||||
|
|
||||
|
if obj.get('type') == 'text': |
||||
|
answer_parts.append(obj.get('msg', '')) |
||||
|
elif obj.get('type') == 'searchGuid': |
||||
|
citations = obj.get('docs', []) |
||||
|
|
||||
|
answer = ''.join(answer_parts) |
||||
|
|
||||
|
if not answer: |
||||
|
raise RuntimeError('未获取到答案') |
||||
|
|
||||
|
logger.info(f'对话完成,答案长度: {len(answer)}') |
||||
|
return answer, citations |
||||
|
|
||||
|
|
||||
|
class YuanbaoTaskProcessor: |
||||
|
"""元宝任务处理器""" |
||||
|
|
||||
|
def __init__(self): |
||||
|
self.tools = ToolsLoad() |
||||
|
self.sign_client = YuanbaoSignClient() |
||||
|
|
||||
|
def _parse_h38(self, cookie: str) -> str: |
||||
|
"""从 Cookie 中解析 h38""" |
||||
|
cookie_dict = dict(item.strip().split('=', 1) |
||||
|
for item in cookie.split(';') if '=' in item) |
||||
|
return cookie_dict.get('_qimei_h38', '') |
||||
|
|
||||
|
@staticmethod |
||||
|
def parse_cookies(cookie: str, name) -> str: |
||||
|
"""从 Cookie 中解析 h38""" |
||||
|
cookie_dict = dict(item.strip().split('=', 1) |
||||
|
for item in cookie.split(';') if '=' in item) |
||||
|
return cookie_dict.get(name, '') |
||||
|
|
||||
|
def _build_result(self, keyword: str, brand: str, platform_id: str, |
||||
|
task_id: str, answer: str, citations: List[Dict]) -> Dict: |
||||
|
"""构建提交结果""" |
||||
|
now = datetime.now().strftime('%Y-%m-%d %H:%M:%S') |
||||
|
pattern = r'citation:(\d+)' |
||||
|
cited = set(re.findall(pattern, answer)) |
||||
|
|
||||
|
search_results = [] |
||||
|
for idx, doc in enumerate(citations): |
||||
|
search_results.append({ |
||||
|
'title': doc.get('title', ''), |
||||
|
'url': doc.get('url', ''), |
||||
|
'host_name': doc.get('web_site_name', ''), |
||||
|
'body': doc.get('quote', ''), |
||||
|
'publish_time': doc.get('publish_time', 0), |
||||
|
'is_referenced': '1' if str(idx + 1) in cited else '0', |
||||
|
}) |
||||
|
|
||||
|
return { |
||||
|
'app_id': YuanbaoConfig.APP_ID, |
||||
|
'secret': YuanbaoConfig.SECRET, |
||||
|
'platform_id': platform_id, |
||||
|
'platform_name': YuanbaoConfig.PLATFORM_NAME, |
||||
|
'prompt': keyword, |
||||
|
'keyword': brand, |
||||
|
'answer': answer, |
||||
|
'search_result': search_results, |
||||
|
'screenshot_file': '', |
||||
|
'run_status': True, |
||||
|
'task_id': task_id, |
||||
|
'rank': 0, |
||||
|
'start_time': now, |
||||
|
'end_time': now, |
||||
|
'screenshot_url': '', |
||||
|
'words': [], |
||||
|
} |
||||
|
|
||||
|
@retry('处理元宝任务', for_work=10) |
||||
|
def process_task(self, task: Dict) -> bool: |
||||
|
"""处理单个任务""" |
||||
|
task_id = task.get("id", "") |
||||
|
keyword = task.get("keyword", "") |
||||
|
platform_id = task.get("platform_id", "3") |
||||
|
brand = task.get("brand", "") |
||||
|
|
||||
|
logger.info(f"开始处理任务: {keyword} - {task_id}") |
||||
|
|
||||
|
session_id = "" |
||||
|
try: |
||||
|
# 1. 获取 Cookie |
||||
|
session = self.tools.get_cookie(platform_id='3', category='1') |
||||
|
cookie = session.get('cookie', '') |
||||
|
session_id = session.get('id', '') |
||||
|
|
||||
|
if not cookie: |
||||
|
logger.error('Cookie 获取失败') |
||||
|
return False |
||||
|
|
||||
|
# 2. 解析 h38 |
||||
|
h38 = self._parse_h38(cookie) |
||||
|
logger.debug(f'h38: {h38}') |
||||
|
|
||||
|
# 3. 获取签名 |
||||
|
sign_data = self.sign_client.get_sign() |
||||
|
|
||||
|
# 4. 创建聊天客户端 |
||||
|
chat_client = YuanbaoChatClient(cookie, sign_data, h38) |
||||
|
|
||||
|
# 5. 创建会话 |
||||
|
conv_id = chat_client.create_conversation() |
||||
|
|
||||
|
# 6. 流式对话 |
||||
|
answer, citations = chat_client.stream_chat(conv_id, keyword) |
||||
|
logger.info(f'答案预览: {answer[:100]}...') |
||||
|
|
||||
|
# 7. 构建结果并提交 |
||||
|
result = self._build_result(keyword, brand, platform_id, task_id, answer, citations) |
||||
|
logger.debug(f'提交结果: {json.dumps(result, ensure_ascii=False)[:200]}') |
||||
|
|
||||
|
post_resp = self.tools.post_task(result) |
||||
|
logger.info(f'任务 {task_id} 提交返回: {post_resp}') |
||||
|
|
||||
|
return True |
||||
|
|
||||
|
except Exception as e: |
||||
|
logger.error(f'任务处理异常: {e}') |
||||
|
if task_id: |
||||
|
self.tools.update_task_status(task_id, '4') |
||||
|
if session_id: |
||||
|
self.tools.update_session(session_id, '', status='4') |
||||
|
raise |
||||
|
|
||||
|
@retry('主运行窗口', for_work=3) |
||||
|
def start_task_msg(self) -> bool: |
||||
|
"""获取并处理任务""" |
||||
|
task_resp = self.tools.get_task() |
||||
|
logger.info(f'获取任务响应: {task_resp}') |
||||
|
|
||||
|
if not task_resp: |
||||
|
logger.info("get_task 未返回有效数据,等待后重试") |
||||
|
time.sleep(5) |
||||
|
return True |
||||
|
|
||||
|
task_data = task_resp.get("data") |
||||
|
if not task_data: |
||||
|
logger.info("没有任务数据,等待下一轮") |
||||
|
time.sleep(random.uniform(30, 60)) |
||||
|
return True |
||||
|
|
||||
|
return self.process_task(task_data) |
||||
|
|
||||
|
def run(self): |
||||
|
"""主循环""" |
||||
|
logger.info('元宝爬虫启动...') |
||||
|
while True: |
||||
|
try: |
||||
|
self.start_task_msg() |
||||
|
except Exception as e: |
||||
|
logger.error(f'主循环异常: {e}') |
||||
|
time.sleep(10) |
||||
|
|
||||
|
|
||||
|
if __name__ == '__main__': |
||||
|
YuanbaoTaskProcessor().run() |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue