commit 9e2967cdb32686b3006d39858c25a2ee5971514c Author: zhangwen Date: Fri May 8 14:25:11 2026 +0800 first commit diff --git a/deep/__pycache__/ai_seo.cpython-310.pyc b/deep/__pycache__/ai_seo.cpython-310.pyc new file mode 100644 index 0000000..671e91d Binary files /dev/null and b/deep/__pycache__/ai_seo.cpython-310.pyc differ diff --git a/deep/__pycache__/ds_test.cpython-310.pyc b/deep/__pycache__/ds_test.cpython-310.pyc new file mode 100644 index 0000000..ff4398f Binary files /dev/null and b/deep/__pycache__/ds_test.cpython-310.pyc differ diff --git a/deep/ai_seo.py b/deep/ai_seo.py new file mode 100644 index 0000000..a4e643f --- /dev/null +++ b/deep/ai_seo.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) + + + diff --git a/deep/deepseek_work.py b/deep/deepseek_work.py new file mode 100644 index 0000000..2c4166b --- /dev/null +++ b/deep/deepseek_work.py @@ -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() \ No newline at end of file diff --git a/deep/ds_test.py b/deep/ds_test.py new file mode 100644 index 0000000..ba1d1d8 --- /dev/null +++ b/deep/ds_test.py @@ -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) diff --git a/deep/js_data/ds.js b/deep/js_data/ds.js new file mode 100644 index 0000000..e63aeb5 --- /dev/null +++ b/deep/js_data/ds.js @@ -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; diff --git a/deep/js_data/js_runner.js b/deep/js_data/js_runner.js new file mode 100644 index 0000000..eb88ba6 --- /dev/null +++ b/deep/js_data/js_runner.js @@ -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; +}); diff --git a/deep/js_data/sha3_wasm_bg.wasm b/deep/js_data/sha3_wasm_bg.wasm new file mode 100644 index 0000000..ac92b1d Binary files /dev/null and b/deep/js_data/sha3_wasm_bg.wasm differ diff --git a/deepseek.log b/deepseek.log new file mode 100644 index 0000000..edd55c4 --- /dev/null +++ b/deepseek.log @@ -0,0 +1,96 @@ +2026-05-07 13:50:11.514 | INFO | __main__:run:482 - DeepSeek单线程爬虫启动 +2026-05-07 13:50:11.805 | INFO | __main__:start_task_msg:456 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} +2026-05-07 13:50:11.805 | INFO | __main__:start_task_msg:465 - 没有任务数据,等待下一轮 +2026-05-07 13:50:44.221 | INFO | __main__:start_task_msg:456 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} +2026-05-07 13:50:44.222 | INFO | __main__:start_task_msg:465 - 没有任务数据,等待下一轮 +2026-05-07 13:51:16.705 | INFO | __main__:start_task_msg:456 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': {'id': '019dffa7b2fe7352b7c9a32adeef692f', 'project_id': '019dff7f56bc73499e4717797d037198', 'keyword_id': '019dffa7b25271669ae8121c9854c2f1', 'keyword': '秋冬保暖跑鞋推荐', 'brand': '阿迪达斯', 'platform_id': '1', 'gather_date': '2026-05-07', 'gather_time': '00:00', 'gather_filter': '2026-05-07 00:00:00', 'status': 2, 'retry_count': 0, 'screen_flag': 2, 'thinking': 0, 'is_deal': 1, 'is_init': 1, 'publish_time': '2026-05-07 13:51:17', 'screen_url': '', 'priority': 999, 'start_time': None, 'end_time': None, 'create_time': '2026-05-07 07:37:53', 'update_time': '2026-05-07 13:51:17', 'delete_time': 0, 'create_by': '019ab54d82d37126a3705bb555e7de6f', 'update_by': '019ab54d82d37126a3705bb555e7de6f', 'type': 1}} +2026-05-07 13:51:16.705 | INFO | __main__:process_task:382 - 开始处理任务: 秋冬保暖跑鞋推荐 | task_id: 019dffa7b2fe7352b7c9a32adeef692f +2026-05-07 13:51:16.755 | INFO | __main__:get_cookie:67 - 成功获取到cookie: {'id': '019ca340045073d39ca6821d221e4a8f', 'platform_id': '1', 'account': '15601718042', 'login_time': '2026-02-28 15:56:47', 'last_use_time': '2026-05-07 10:13:10', 'reload_time': None, 'status': 1, 'type': 1, 'cookie': 'Bearer C79X87BZwvUuk9ubGRIpY8X1H/cSobonNz4mhuqbZxFRsOU1Y32o3rj4bWx7UNk8', 'category': 1, 'url': 'http://luckin-east-test.oss.neicela.com//ai_seo/session/69a29fbee97c5.json', 'hash': 'ab4635cf7ded9ec63fd87781b86ea3aada276c64d47d65ee88c27f2198d83153'} +2026-05-07 13:51:16.755 | INFO | __main__:process_task:399 - 创建chat_session... +2026-05-07 13:51:16.924 | ERROR | __main__:process_task:441 - 任务 019dffa7b2fe7352b7c9a32adeef692f 处理异常: 无法解析 chat_session_id:{'code': 40003, 'msg': 'Authorization Failed (invalid token)', 'data': None} +2026-05-07 13:51:16.985 | INFO | __main__:update_session:85 - 更新session状态: {"code":500,"msg":"Failed to parse time string (full_datetime) at position 0 (f): The timezone could not be found in the database","data":{"msg":"Failed to parse time string (full_datetime) at position 0 (f): The timezone could not be found in the database","file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/model\/type\/DateTime.php","line":36,"trace":[{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/model\/type\/DateTime.php","line":36,"function":"__construct","class":"DateTime","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/model\/type\/DateTime.php","line":19,"function":"data","class":"think\\model\\type\\DateTime","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/model\/concern\/Attribute.php","line":201,"function":"from","class":"think\\model\\type\\DateTime","type":"::"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/model\/concern\/Attribute.php","line":233,"function":"think\\model\\concern\\{closure}","class":"think\\Model","type":"::"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/model\/concern\/Attribute.php","line":70,"function":"readTransform","class":"think\\Model","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/Model.php","line":364,"function":"initializeData","class":"think\\Model","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/Model.php","line":645,"function":"save","class":"think\\Model","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/app\/service\/spider\/SpiderSessionService.php","line":114,"function":"update","class":"think\\Model","type":"::"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/app\/api\/controller\/v1\/third\/ThirdController.php","line":174,"function":"updateSpiderSession","class":"app\\service\\spider\\SpiderSessionService","type":"->"},{"function":"updateSpiderSession","class":"app\\api\\controller\\v1\\third\\ThirdController","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-container\/src\/Container.php","line":349,"function":"invokeArgs","class":"ReflectionMethod","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/route\/Dispatch.php","line":190,"function":"invokeReflectMethod","class":"think\\Container","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":59,"function":"think\\route\\{closure}","class":"think\\route\\Dispatch","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":66,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/route\/Dispatch.php","line":164,"function":"then","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/route\/dispatch\/Controller.php","line":112,"function":"responseWithMiddlewarePipeline","class":"think\\route\\Dispatch","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/route\/Dispatch.php","line":60,"function":"exec","class":"think\\route\\dispatch\\Controller","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Route.php","line":717,"function":"run","class":"think\\route\\Dispatch","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":59,"function":"think\\{closure}","class":"think\\Route","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/app\/core\/middleware\/ThirdAuthMiddleware.php","line":24,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"function":"handle","class":"app\\core\\middleware\\ThirdAuthMiddleware","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Middleware.php","line":134,"function":"call_user_func"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":85,"function":"think\\{closure}","class":"think\\Middleware","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":66,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Route.php","line":716,"function":"then","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Http.php","line":208,"function":"dispatch","class":"think\\Route","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Http.php","line":198,"function":"dispatchToRoute","class":"think\\Http","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":59,"function":"think\\{closure}","class":"think\\Http","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-multi-app\/src\/MultiApp.php","line":51,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":59,"function":"think\\app\\{closure}","class":"think\\app\\MultiApp","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":66,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-multi-app\/src\/MultiApp.php","line":50,"function":"then","class":"think\\Pipeline","type":"->"},{"function":"handle","class":"think\\app\\MultiApp","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Middleware.php","line":134,"function":"call_user_func"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":85,"function":"think\\{closure}","class":"think\\Middleware","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/app\/core\/middleware\/CorsMiddleware.php","line":48,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"function":"handle","class":"app\\core\\middleware\\CorsMiddleware","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Middleware.php","line":134,"function":"call_user_func"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":85,"function":"think\\{closure}","class":"think\\Middleware","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/middleware\/LoadLangPack.php","line":53,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"function":"handle","class":"think\\middleware\\LoadLangPack","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Middleware.php","line":134,"function":"call_user_func"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":85,"function":"think\\{closure}","class":"think\\Middleware","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-trace\/src\/TraceDebug.php","line":71,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"function":"handle","class":"think\\trace\\TraceDebug","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Middleware.php","line":134,"function":"call_user_func"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":85,"function":"think\\{closure}","class":"think\\Middleware","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":66,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Http.php","line":197,"function":"then","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Http.php","line":162,"function":"runWithRequest","class":"think\\Http","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/public\/index.php","line":25,"function":"run","class":"think\\Http","type":"->"}],"previous":null}} +2026-05-07 13:51:29.346 | INFO | __main__:process_task:382 - 开始处理任务: 秋冬保暖跑鞋推荐 | task_id: 019dffa7b2fe7352b7c9a32adeef692f +2026-05-07 13:51:29.399 | INFO | __main__:get_cookie:67 - 成功获取到cookie: {'id': '019ca34ce7ea730db1ff1cae365228bc', 'platform_id': '1', 'account': '15601708543', 'login_time': '2026-02-28 16:10:52', 'last_use_time': '2026-05-07 10:44:30', 'reload_time': None, 'status': 1, 'type': 1, 'cookie': 'Bearer +aKz3OgbxHGOn8kGbI4hLLWKYYRvVyiH3axfx6dT9CrA9ghfFOYCLKPfu9g3r54Q', 'category': 1, 'url': 'http://luckin-east-test.oss.neicela.com//ai_seo/session/69a2a30bad544.json', 'hash': 'b8e02ed104cf97a8a660402f5da2b109917fc4e3a832459e5cd0536a1cec242f'} +2026-05-07 13:51:29.399 | INFO | __main__:process_task:399 - 创建chat_session... +2026-05-07 13:51:29.530 | INFO | __main__:process_task:401 - 新建chat_session_id: {'id': '1fe768f9-3e8e-4233-998d-73d207c1a755', 'seq_id': 200296290, 'agent': 'chat', 'model_type': 'default', 'title': None, 'title_type': 'WIP', 'version': 0, 'current_message_id': None, 'pinned': False, 'inserted_at': 1778133090.603, 'updated_at': 1778133090.603} +2026-05-07 13:51:29.530 | INFO | __main__:process_task:404 - 发送prompt: 秋冬保暖跑鞋推荐 +2026-05-07 13:51:29.681 | DEBUG | __main__:solve_answer_fixed_sig:191 - 开始求解PoW: {'algorithm': 'DeepSeekHashV1', 'challenge': '72821738893ec8b6cbb10515077340f8f23c1fb6cbca882966f0d29e2e774edb', 'salt': '106ca0ec120f4fe96b79', 'signature': '02c30094b23df56ba452ffa828303fd9696d5ce306885e65a2bac42af94528b4', 'difficulty': 144000, 'expire_at': 1778133390751, 'expire_after': 300000, 'target_path': '/api/v0/chat/completion'} +2026-05-07 13:51:29.759 | INFO | __main__:solve_answer_fixed_sig:210 - PoW求解结果: {'ok': True, 'answer': 49128} +2026-05-07 13:51:29.759 | INFO | __main__:sse_chat_completion:257 - PoW answer: 49128 +2026-05-07 13:51:31.612 | INFO | __main__:sse_chat_completion:316 - 获取到联网搜索结果 +2026-05-07 13:51:58.644 | INFO | __main__:run:477 - DeepSeek单线程爬虫启动 +2026-05-07 13:51:59.007 | INFO | __main__:start_task_msg:458 - 获取任务响应: {'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}} +2026-05-07 13:52:07.019 | INFO | __main__:process_task:382 - 开始处理任务: 国泰基金怎么样 | task_id: e07a6ffddf62a61c8072a0d2d518a655 +2026-05-07 13:52:07.692 | INFO | __main__:get_cookie:67 - 成功获取到cookie: {'id': '019ca3191db172fc8f82b7423527156d', 'platform_id': '1', 'account': '15544503306', 'login_time': '2026-02-28 15:14:18', 'last_use_time': '2026-05-07 11:15:20', 'reload_time': None, 'status': 1, 'type': 1, 'cookie': 'Bearer 4VWUjtnOiThTruApDmjrB3+ivDDvFNEP/1R8EOmBJILUc2L1DL3c8oPyeAnMFD6I', 'category': 1, 'url': 'http://luckin-east-test.oss.neicela.com//ai_seo/session/69a295c970b0e.json', 'hash': '30bcedbdb743d953c555db47d6be232ec8bd0fc20f431f04d4247615c6dbf07c'} +2026-05-07 13:52:24.625 | INFO | __main__:process_task:399 - 创建chat_session... +2026-05-07 13:52:42.673 | INFO | __main__:process_task:401 - 新建chat_session_id: {'id': 'af0e04cd-03b2-4f56-ac91-d7a0450a7f2b', 'seq_id': 200296350, 'agent': 'chat', 'model_type': 'default', 'title': None, 'title_type': 'WIP', 'version': 0, 'current_message_id': None, 'pinned': False, 'inserted_at': 1778133150.209, 'updated_at': 1778133150.209} +2026-05-07 13:52:43.569 | INFO | __main__:process_task:404 - 发送prompt: 国泰基金怎么样 +2026-05-07 13:53:22.717 | DEBUG | __main__:solve_answer_fixed_sig:191 - 开始求解PoW: {'algorithm': 'DeepSeekHashV1', 'challenge': '8428fa2afedf4cc114baaf603199f2105b21aa217fcf7d97c4975f9692c24d78', 'salt': 'c86d4ad0bd86f111fb60', 'signature': 'eeb07df5631227ade954fe31b593236307030e70ac9cd983537887782461800d', 'difficulty': 144000, 'expire_at': 1778133480943, 'expire_after': 300000, 'target_path': '/api/v0/chat/completion'} +2026-05-07 13:53:22.798 | INFO | __main__:solve_answer_fixed_sig:210 - PoW求解结果: {'ok': True, 'answer': 68672} +2026-05-07 13:53:23.489 | INFO | __main__:sse_chat_completion:257 - PoW answer: 68672 +2026-05-07 13:53:44.418 | INFO | __main__:sse_chat_completion:316 - 获取到联网搜索结果 +2026-05-07 13:59:50.659 | INFO | __main__:run:481 - DeepSeek单线程爬虫启动 +2026-05-07 13:59:50.927 | INFO | __main__:start_task_msg:462 - 获取任务响应: {'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}} +2026-05-07 13:59:50.927 | INFO | __main__:process_task:383 - 开始处理任务: 国泰基金怎么样 | task_id: e07a6ffddf62a61c8072a0d2d518a655 +2026-05-07 13:59:50.990 | INFO | __main__:get_cookie:67 - 成功获取到cookie: {'id': '019ca34e43fb7313bc76a889f3e59a4a', 'platform_id': '1', 'account': '18151803517', 'login_time': '2026-02-28 16:12:21', 'last_use_time': '2026-05-07 12:18:05', 'reload_time': None, 'status': 1, 'type': 1, 'cookie': 'Bearer aCKsz2+jEKReiyEn1sm7Ghhrlja+FFEkLLlS/yRodOyRMe5sX8UVlJm84u5zear6', 'category': 1, 'url': 'http://luckin-east-test.oss.neicela.com//ai_seo/session/69a2a364d0076.json', 'hash': '3040172575f1dbe718e06fee24924551494181db5efebd7873cccd498dcd39bd'} +2026-05-07 13:59:50.990 | INFO | __main__:process_task:400 - 创建chat_session... +2026-05-07 13:59:51.163 | INFO | __main__:process_task:402 - 新建chat_session_id: {'id': '0e1bb701-7efc-42e0-a8c8-80ceb033807d', 'seq_id': 200296792, 'agent': 'chat', 'model_type': 'default', 'title': None, 'title_type': 'WIP', 'version': 0, 'current_message_id': None, 'pinned': False, 'inserted_at': 1778133592.247, 'updated_at': 1778133592.247} +2026-05-07 13:59:51.163 | INFO | __main__:process_task:405 - 发送prompt: 国泰基金怎么样 +2026-05-07 13:59:51.305 | DEBUG | __main__:solve_answer_fixed_sig:191 - 开始求解PoW: {'algorithm': 'DeepSeekHashV1', 'challenge': 'c104bdd871238f707a80c7920845603bc2e35bb9385002771708db86500a3e8a', 'salt': '69f279dd9c7fce7fd27b', 'signature': '3f0cf3b6b4015365e093a8d3d257937c0c9f8fad79e5337f96087bf6eb5ea73b', 'difficulty': 144000, 'expire_at': 1778133892397, 'expire_after': 300000, 'target_path': '/api/v0/chat/completion'} +2026-05-07 13:59:51.383 | INFO | __main__:solve_answer_fixed_sig:210 - PoW求解结果: {'ok': True, 'answer': 60682} +2026-05-07 13:59:51.383 | INFO | __main__:sse_chat_completion:257 - PoW answer: 60682 +2026-05-07 13:59:53.964 | INFO | __main__:sse_chat_completion:317 - 获取到联网搜索结果 +2026-05-07 14:00:22.027 | INFO | __main__:process_task:440 - 任务 e07a6ffddf62a61c8072a0d2d518a655 提交返回: {'code': 500, 'msg': '当前状态禁止提交', 'data': []} +2026-05-07 14:00:22.313 | INFO | __main__:start_task_msg:462 - 获取任务响应: {'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}} +2026-05-07 14:00:22.313 | INFO | __main__:process_task:383 - 开始处理任务: 国泰基金怎么样 | task_id: e07a6ffddf62a61c8072a0d2d518a655 +2026-05-07 14:00:22.384 | INFO | __main__:get_cookie:67 - 成功获取到cookie: {'id': '019ca355b1757380979885bda8c82709', 'platform_id': '1', 'account': '18621553608', 'login_time': '2026-02-28 16:20:28', 'last_use_time': '2026-05-07 12:48:19', 'reload_time': None, 'status': 1, 'type': 1, 'cookie': 'Bearer 5x43Xq4EGnWGkTRK8Evje/W2DuXf04zdBEyM7LnepZsQUePseGSHjAoKq7l1cNhC', 'category': 1, 'url': 'http://luckin-east-test.oss.neicela.com//ai_seo/session/69a2a54b8f6b8.json', 'hash': '560c69c8a9b3db6574922fd21a84e3fc0926a2a122a0e970aa2b7dad5186d9c5'} +2026-05-07 14:00:22.384 | INFO | __main__:process_task:400 - 创建chat_session... +2026-05-07 14:00:22.583 | INFO | __main__:process_task:402 - 新建chat_session_id: {'id': '04dda1a2-a5f5-469c-84af-05b570de2930', 'seq_id': 200296823, 'agent': 'chat', 'model_type': 'default', 'title': None, 'title_type': 'WIP', 'version': 0, 'current_message_id': None, 'pinned': False, 'inserted_at': 1778133623.665, 'updated_at': 1778133623.665} +2026-05-07 14:00:22.583 | INFO | __main__:process_task:405 - 发送prompt: 国泰基金怎么样 +2026-05-07 14:00:22.977 | DEBUG | __main__:solve_answer_fixed_sig:191 - 开始求解PoW: {'algorithm': 'DeepSeekHashV1', 'challenge': 'db088564e5801bf61561aa4c2887dc4e2a2ac0e669709b5463f26106c7faa9d8', 'salt': '9fd3160b23010ad22d6f', 'signature': 'f4733afc5a77c39c6ffc28d697ab60d26d0c08ed019c2c722e33bafce6fb6b45', 'difficulty': 144000, 'expire_at': 1778133924029, 'expire_after': 300000, 'target_path': '/api/v0/chat/completion'} +2026-05-07 14:00:23.052 | INFO | __main__:solve_answer_fixed_sig:210 - PoW求解结果: {'ok': True, 'answer': 42359} +2026-05-07 14:00:23.052 | INFO | __main__:sse_chat_completion:257 - PoW answer: 42359 +2026-05-07 14:00:25.612 | INFO | __main__:sse_chat_completion:317 - 获取到联网搜索结果 +2026-05-07 14:01:19.214 | INFO | __main__:run:484 - DeepSeek单线程爬虫启动 +2026-05-07 14:01:19.465 | INFO | __main__:start_task_msg:465 - 获取任务响应: {'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}} +2026-05-07 14:01:19.465 | INFO | __main__:process_task:383 - 开始处理任务: 国泰基金怎么样 | task_id: e07a6ffddf62a61c8072a0d2d518a655 +2026-05-07 14:01:19.514 | INFO | __main__:get_cookie:67 - 成功获取到cookie: {'id': '019ca334004a7134b83100f6ac2f5a6d', 'platform_id': '1', 'account': '17705159638', 'login_time': '2026-02-28 15:43:40', 'last_use_time': '2026-05-07 13:19:07', 'reload_time': None, 'status': 1, 'type': 1, 'cookie': 'Bearer cxJtV5nDR1IokwOJVo1Yw791071EC5d4lJ/6e/yFwY45d9dX8RDsWaHl8PzTVDjv', 'category': 1, 'url': 'http://luckin-east-test.oss.neicela.com//ai_seo/session/69a29cab6128f.json', 'hash': 'bbac0a35c11566658b1420b73861bbb469ecf89617c4d46141f9e556eb85f3ce'} +2026-05-07 14:01:19.514 | INFO | __main__:process_task:400 - 创建chat_session... +2026-05-07 14:01:19.675 | INFO | __main__:process_task:402 - 新建chat_session_id: {'id': '7f716cb6-eae9-4090-9a72-5ce8f771e0cb', 'seq_id': 200296880, 'agent': 'chat', 'model_type': 'default', 'title': None, 'title_type': 'WIP', 'version': 0, 'current_message_id': None, 'pinned': False, 'inserted_at': 1778133680.766, 'updated_at': 1778133680.766} +2026-05-07 14:01:19.675 | INFO | __main__:process_task:405 - 发送prompt: 国泰基金怎么样 +2026-05-07 14:01:20.041 | DEBUG | __main__:solve_answer_fixed_sig:191 - 开始求解PoW: {'algorithm': 'DeepSeekHashV1', 'challenge': '34086ff03df4aedb9544229a62fc3fa3030f0c77847a542db485bfa53ac6b4d2', 'salt': '27d1179afc813742839b', 'signature': 'ef9713ff740229a0f6a15c61fad9366645ad1bb52520d11601370693a26ec086', 'difficulty': 144000, 'expire_at': 1778133981130, 'expire_after': 300000, 'target_path': '/api/v0/chat/completion'} +2026-05-07 14:01:20.132 | INFO | __main__:solve_answer_fixed_sig:210 - PoW求解结果: {'ok': True, 'answer': 103887} +2026-05-07 14:01:20.132 | INFO | __main__:sse_chat_completion:257 - PoW answer: 103887 +2026-05-07 14:01:22.022 | INFO | __main__:sse_chat_completion:317 - 获取到联网搜索结果 +2026-05-07 14:01:50.404 | INFO | __main__:process_task:443 - 任务 e07a6ffddf62a61c8072a0d2d518a655 提交返回: {'code': 500, 'msg': '当前状态禁止提交', 'data': []} +2026-05-07 14:01:50.661 | INFO | __main__:start_task_msg:465 - 获取任务响应: {'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}} +2026-05-07 14:01:50.661 | INFO | __main__:process_task:383 - 开始处理任务: 国泰基金怎么样 | task_id: e07a6ffddf62a61c8072a0d2d518a655 +2026-05-07 14:01:50.706 | INFO | __main__:get_cookie:67 - 成功获取到cookie: {'id': '019ca340045073d39ca6821d221e4a8f', 'platform_id': '1', 'account': '15601718042', 'login_time': '2026-02-28 15:56:47', 'last_use_time': '2026-05-07 13:51:17', 'reload_time': None, 'status': 1, 'type': 1, 'cookie': 'Bearer C79X87BZwvUuk9ubGRIpY8X1H/cSobonNz4mhuqbZxFRsOU1Y32o3rj4bWx7UNk8', 'category': 1, 'url': 'http://luckin-east-test.oss.neicela.com//ai_seo/session/69a29fbee97c5.json', 'hash': 'ab4635cf7ded9ec63fd87781b86ea3aada276c64d47d65ee88c27f2198d83153'} +2026-05-07 14:01:50.706 | INFO | __main__:process_task:400 - 创建chat_session... +2026-05-07 14:01:50.871 | ERROR | __main__:process_task:448 - 任务 e07a6ffddf62a61c8072a0d2d518a655 处理异常: 无法解析 chat_session_id:{'code': 40003, 'msg': 'Authorization Failed (invalid token)', 'data': None} +2026-05-07 14:01:50.912 | INFO | __main__:update_session:85 - 更新session状态: {"code":500,"msg":"Failed to parse time string (full_datetime) at position 0 (f): The timezone could not be found in the database","data":{"msg":"Failed to parse time string (full_datetime) at position 0 (f): The timezone could not be found in the database","file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/model\/type\/DateTime.php","line":36,"trace":[{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/model\/type\/DateTime.php","line":36,"function":"__construct","class":"DateTime","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/model\/type\/DateTime.php","line":19,"function":"data","class":"think\\model\\type\\DateTime","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/model\/concern\/Attribute.php","line":201,"function":"from","class":"think\\model\\type\\DateTime","type":"::"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/model\/concern\/Attribute.php","line":233,"function":"think\\model\\concern\\{closure}","class":"think\\Model","type":"::"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/model\/concern\/Attribute.php","line":70,"function":"readTransform","class":"think\\Model","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/Model.php","line":364,"function":"initializeData","class":"think\\Model","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-orm\/src\/Model.php","line":645,"function":"save","class":"think\\Model","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/app\/service\/spider\/SpiderSessionService.php","line":114,"function":"update","class":"think\\Model","type":"::"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/app\/api\/controller\/v1\/third\/ThirdController.php","line":174,"function":"updateSpiderSession","class":"app\\service\\spider\\SpiderSessionService","type":"->"},{"function":"updateSpiderSession","class":"app\\api\\controller\\v1\\third\\ThirdController","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-container\/src\/Container.php","line":349,"function":"invokeArgs","class":"ReflectionMethod","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/route\/Dispatch.php","line":190,"function":"invokeReflectMethod","class":"think\\Container","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":59,"function":"think\\route\\{closure}","class":"think\\route\\Dispatch","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":66,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/route\/Dispatch.php","line":164,"function":"then","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/route\/dispatch\/Controller.php","line":112,"function":"responseWithMiddlewarePipeline","class":"think\\route\\Dispatch","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/route\/Dispatch.php","line":60,"function":"exec","class":"think\\route\\dispatch\\Controller","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Route.php","line":717,"function":"run","class":"think\\route\\Dispatch","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":59,"function":"think\\{closure}","class":"think\\Route","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/app\/core\/middleware\/ThirdAuthMiddleware.php","line":24,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"function":"handle","class":"app\\core\\middleware\\ThirdAuthMiddleware","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Middleware.php","line":134,"function":"call_user_func"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":85,"function":"think\\{closure}","class":"think\\Middleware","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":66,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Route.php","line":716,"function":"then","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Http.php","line":208,"function":"dispatch","class":"think\\Route","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Http.php","line":198,"function":"dispatchToRoute","class":"think\\Http","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":59,"function":"think\\{closure}","class":"think\\Http","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-multi-app\/src\/MultiApp.php","line":51,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":59,"function":"think\\app\\{closure}","class":"think\\app\\MultiApp","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":66,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-multi-app\/src\/MultiApp.php","line":50,"function":"then","class":"think\\Pipeline","type":"->"},{"function":"handle","class":"think\\app\\MultiApp","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Middleware.php","line":134,"function":"call_user_func"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":85,"function":"think\\{closure}","class":"think\\Middleware","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/app\/core\/middleware\/CorsMiddleware.php","line":48,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"function":"handle","class":"app\\core\\middleware\\CorsMiddleware","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Middleware.php","line":134,"function":"call_user_func"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":85,"function":"think\\{closure}","class":"think\\Middleware","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/middleware\/LoadLangPack.php","line":53,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"function":"handle","class":"think\\middleware\\LoadLangPack","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Middleware.php","line":134,"function":"call_user_func"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":85,"function":"think\\{closure}","class":"think\\Middleware","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/think-trace\/src\/TraceDebug.php","line":71,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"function":"handle","class":"think\\trace\\TraceDebug","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Middleware.php","line":134,"function":"call_user_func"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":85,"function":"think\\{closure}","class":"think\\Middleware","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":66,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Http.php","line":197,"function":"then","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/vendor\/topthink\/framework\/src\/think\/Http.php","line":162,"function":"runWithRequest","class":"think\\Http","type":"->"},{"file":"\/www\/wwwroot\/granking-api.neicela.com\/granking-api\/public\/index.php","line":25,"function":"run","class":"think\\Http","type":"->"}],"previous":null}} +2026-05-07 14:02:03.244 | INFO | __main__:process_task:383 - 开始处理任务: 国泰基金怎么样 | task_id: e07a6ffddf62a61c8072a0d2d518a655 +2026-05-07 14:02:03.293 | INFO | __main__:get_cookie:67 - 成功获取到cookie: {'id': '019ca34ce7ea730db1ff1cae365228bc', 'platform_id': '1', 'account': '15601708543', 'login_time': '2026-02-28 16:10:52', 'last_use_time': '2026-05-07 13:51:30', 'reload_time': None, 'status': 1, 'type': 1, 'cookie': 'Bearer +aKz3OgbxHGOn8kGbI4hLLWKYYRvVyiH3axfx6dT9CrA9ghfFOYCLKPfu9g3r54Q', 'category': 1, 'url': 'http://luckin-east-test.oss.neicela.com//ai_seo/session/69a2a30bad544.json', 'hash': 'b8e02ed104cf97a8a660402f5da2b109917fc4e3a832459e5cd0536a1cec242f'} +2026-05-07 14:02:03.293 | INFO | __main__:process_task:400 - 创建chat_session... +2026-05-07 14:02:03.475 | INFO | __main__:process_task:402 - 新建chat_session_id: {'id': 'cebb746a-b55a-4628-835d-b85fd6883716', 'seq_id': 200296924, 'agent': 'chat', 'model_type': 'default', 'title': None, 'title_type': 'WIP', 'version': 0, 'current_message_id': None, 'pinned': False, 'inserted_at': 1778133724.565, 'updated_at': 1778133724.565} +2026-05-07 14:02:03.475 | INFO | __main__:process_task:405 - 发送prompt: 国泰基金怎么样 +2026-05-07 14:02:03.633 | DEBUG | __main__:solve_answer_fixed_sig:191 - 开始求解PoW: {'algorithm': 'DeepSeekHashV1', 'challenge': '40d226ee38d14dfd3ffe0dc9b1aeba06611e039679ec63ddd7ecd99e7a875d11', 'salt': '1728a069de08098888a3', 'signature': '71007ba59bcf3e748b695196e8346bbf0e39029acead4ccc64fc96fb4fa0faec', 'difficulty': 144000, 'expire_at': 1778134024728, 'expire_after': 300000, 'target_path': '/api/v0/chat/completion'} +2026-05-07 14:02:03.740 | INFO | __main__:solve_answer_fixed_sig:210 - PoW求解结果: {'ok': True, 'answer': 89302} +2026-05-07 14:02:03.740 | INFO | __main__:sse_chat_completion:257 - PoW answer: 89302 +2026-05-07 14:02:05.830 | INFO | __main__:sse_chat_completion:317 - 获取到联网搜索结果 +2026-05-07 14:05:18.748 | INFO | __main__:run:484 - DeepSeek单线程爬虫启动 +2026-05-07 14:05:19.056 | INFO | __main__:start_task_msg:465 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} +2026-05-07 14:05:19.057 | INFO | __main__:start_task_msg:474 - 没有任务数据,等待下一轮 +2026-05-07 14:05:37.104 | INFO | __main__:run:484 - DeepSeek单线程爬虫启动 +2026-05-07 14:05:37.409 | INFO | __main__:start_task_msg:465 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} +2026-05-07 14:05:37.409 | INFO | __main__:start_task_msg:474 - 没有任务数据,等待下一轮 +2026-05-07 14:06:07.720 | INFO | __main__:start_task_msg:465 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} +2026-05-07 14:06:07.720 | INFO | __main__:start_task_msg:474 - 没有任务数据,等待下一轮 +2026-05-07 14:06:38.028 | INFO | __main__:start_task_msg:465 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} +2026-05-07 14:06:38.028 | INFO | __main__:start_task_msg:474 - 没有任务数据,等待下一轮 +2026-05-07 14:07:08.387 | INFO | __main__:start_task_msg:465 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} +2026-05-07 14:07:08.387 | INFO | __main__:start_task_msg:474 - 没有任务数据,等待下一轮 +2026-05-07 14:07:38.613 | INFO | __main__:start_task_msg:465 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} +2026-05-07 14:07:38.614 | INFO | __main__:start_task_msg:474 - 没有任务数据,等待下一轮 +2026-05-07 14:08:08.841 | INFO | __main__:start_task_msg:465 - 获取任务响应: {'code': 0, 'msg': 'success', 'data': []} +2026-05-07 14:08:08.841 | INFO | __main__:start_task_msg:474 - 没有任务数据,等待下一轮 diff --git a/deepseekstart.py b/deepseekstart.py new file mode 100644 index 0000000..1c6a8bd --- /dev/null +++ b/deepseekstart.py @@ -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() \ No newline at end of file diff --git a/js_data/ds.js b/js_data/ds.js new file mode 100644 index 0000000..e63aeb5 --- /dev/null +++ b/js_data/ds.js @@ -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; diff --git a/js_data/js_runner.js b/js_data/js_runner.js new file mode 100644 index 0000000..eb88ba6 --- /dev/null +++ b/js_data/js_runner.js @@ -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; +}); diff --git a/js_data/sha3_wasm_bg.wasm b/js_data/sha3_wasm_bg.wasm new file mode 100644 index 0000000..ac92b1d Binary files /dev/null and b/js_data/sha3_wasm_bg.wasm differ diff --git a/kimi_tokens.db b/kimi_tokens.db new file mode 100644 index 0000000..d409df2 Binary files /dev/null and b/kimi_tokens.db differ diff --git a/kimistart.py b/kimistart.py new file mode 100644 index 0000000..d57d9e1 --- /dev/null +++ b/kimistart.py @@ -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() diff --git a/login/kimi_auto_login.py b/login/kimi_auto_login.py new file mode 100644 index 0000000..502813c --- /dev/null +++ b/login/kimi_auto_login.py @@ -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 diff --git a/login/mita_login.py b/login/mita_login.py new file mode 100644 index 0000000..992582d --- /dev/null +++ b/login/mita_login.py @@ -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": "", "phone": "13800138000", "raw": } + 失败返回: + {"ok": False, "error": "...", "raw": } + 参数: + - 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: + """ + 尝试点击页面中显示文本 '我已阅读并同意 ' 的 元素。 + 返回 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) diff --git a/login/set_status_active.py b/login/set_status_active.py new file mode 100644 index 0000000..801a3c2 --- /dev/null +++ b/login/set_status_active.py @@ -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() \ No newline at end of file diff --git a/mitastart.py b/mitastart.py new file mode 100644 index 0000000..85de659 --- /dev/null +++ b/mitastart.py @@ -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() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..8bc2750 --- /dev/null +++ b/requirements.txt @@ -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 \ No newline at end of file diff --git a/start.bat b/start.bat new file mode 100644 index 0000000..b3eb9dd --- /dev/null +++ b/start.bat @@ -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 \ No newline at end of file diff --git a/tongyistart.py b/tongyistart.py new file mode 100644 index 0000000..f2a04b0 --- /dev/null +++ b/tongyistart.py @@ -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() diff --git a/utlit/__pycache__/encrpty.cpython-310.pyc b/utlit/__pycache__/encrpty.cpython-310.pyc new file mode 100644 index 0000000..8490963 Binary files /dev/null and b/utlit/__pycache__/encrpty.cpython-310.pyc differ diff --git a/utlit/__pycache__/retry.cpython-310.pyc b/utlit/__pycache__/retry.cpython-310.pyc new file mode 100644 index 0000000..ae72905 Binary files /dev/null and b/utlit/__pycache__/retry.cpython-310.pyc differ diff --git a/utlit/__pycache__/update_db.cpython-310.pyc b/utlit/__pycache__/update_db.cpython-310.pyc new file mode 100644 index 0000000..6a8a474 Binary files /dev/null and b/utlit/__pycache__/update_db.cpython-310.pyc differ diff --git a/utlit/__pycache__/utils.cpython-310.pyc b/utlit/__pycache__/utils.cpython-310.pyc new file mode 100644 index 0000000..8523c23 Binary files /dev/null and b/utlit/__pycache__/utils.cpython-310.pyc differ diff --git a/utlit/encrpty.py b/utlit/encrpty.py new file mode 100644 index 0000000..7ecf633 --- /dev/null +++ b/utlit/encrpty.py @@ -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) diff --git a/utlit/msg_push.py b/utlit/msg_push.py new file mode 100644 index 0000000..2e3f20b --- /dev/null +++ b/utlit/msg_push.py @@ -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() diff --git a/utlit/retry.py b/utlit/retry.py new file mode 100644 index 0000000..0e2484f --- /dev/null +++ b/utlit/retry.py @@ -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 diff --git a/utlit/update_db.py b/utlit/update_db.py new file mode 100644 index 0000000..712ef00 --- /dev/null +++ b/utlit/update_db.py @@ -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) diff --git a/utlit/utils.py b/utlit/utils.py new file mode 100644 index 0000000..fa4d95a --- /dev/null +++ b/utlit/utils.py @@ -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 + + + + diff --git a/wxyy.log b/wxyy.log new file mode 100644 index 0000000..1f6109f --- /dev/null +++ b/wxyy.log @@ -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 - 没有任务数据,等待下一轮 diff --git a/wxyystart.py b/wxyystart.py new file mode 100644 index 0000000..4fddd63 --- /dev/null +++ b/wxyystart.py @@ -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() diff --git a/yuanbao.2026-05-07_18-03-48_868163.log.zip b/yuanbao.2026-05-07_18-03-48_868163.log.zip new file mode 100644 index 0000000..aa16310 Binary files /dev/null and b/yuanbao.2026-05-07_18-03-48_868163.log.zip differ diff --git a/yuanbao.log b/yuanbao.log new file mode 100644 index 0000000..7b00c4b --- /dev/null +++ b/yuanbao.log @@ -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 - 没有任务数据,等待下一轮 diff --git a/yuanbao.py b/yuanbao.py new file mode 100644 index 0000000..8f92e2d --- /dev/null +++ b/yuanbao.py @@ -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()