From c72c5b33e6dc170e8469535c54efb09cd0099843 Mon Sep 17 00:00:00 2001 From: zhurunlin Date: Wed, 23 Jul 2025 14:10:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E5=B0=8F=E8=A8=80?= =?UTF-8?q?=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spiders/ai_seo/wenxiaoyan.py | 148 +++++++++++++------------------------------ 1 file changed, 43 insertions(+), 105 deletions(-) diff --git a/spiders/ai_seo/wenxiaoyan.py b/spiders/ai_seo/wenxiaoyan.py index 59fa928..abbad52 100644 --- a/spiders/ai_seo/wenxiaoyan.py +++ b/spiders/ai_seo/wenxiaoyan.py @@ -31,14 +31,13 @@ class WenxiaoyanSpider(AbstractAiSeoSpider): def get_answer(self,question): - url = "https://yiyanapp.baidu.com/chat/completions?appmode=nor&appname=newapp&cfrom=1027594s¤tLLMModel=auto&ds_lv=0&ds_stc=0.0000&from=1027594s&llmMode=auto&matrixstyle=0&network=1_0&sid=148615_1-999987_2-999992_1-159581_2-999991_1-164345_3-160429_1-999989_1-165121_1-999990_1-162727_1-999999_71-999988_1-163324_4-999994_2-999993_1-160037_5&st=2&ua=1170_2532_iphone_4.20.0.10_0&uid=808BA951B6493F89F2D28A62C7438A9332566F6AAOHBGTHSHBE&ut=iPhone13%2C2_17.6.1&zid=U8HLkcXuwbe2-gJK1hw1Goz5QuMxZdMQJSqN2Fs15rnzb0Vss7pxP-zc-wBRYuJI8qmsMDWWRwkcd-EivBG0P8Q&jt=" # ⚠️ 注意替换 jt 参数为你抓包所得 + url = "https://yiyanapp.baidu.com/chat/completions?appmode=nor&appname=newapp&cfrom=1027594s¤tLLMModel=auto&ds_lv=0&ds_stc=0.0000&from=1027594s&llmMode=auto&matrixstyle=0&network=1_0&sid=148615_1-999987_2-999992_1-999991_1-999999_71-164345_3-999989_1-165121_1-999990_1-999988_1-167537_2-999994_2-999993_1&st=2&ua=1170_2532_iphone_4.20.0.10_0&uid=808BA951B6493F89F2D28A62C7438A9332566F6AAOHBGTHSHBE&ut=iPhone13%2C2_17.6.1&zid=U8HLkcXuwbe2-gJK1hw1Goz5QuMxZdMQJSqN2Fs15rnxRNfQ727QKdNMr45YRMLu2XeEydINMJvMu1WKw5cU5kg&jt=31%24eyJrIj4iOCI0Iix5IkciQEdGRUVITkpITlBMSyJJIkFqIjwiNTw7Ojo9Qz89Q0VARiI%2BIjYzIlEiSlFQT09SWDQyNzs2NyIzIit5IkYiPiI8IjYiTiJHRUlRSEtKTyJLImsiPSI0PD9AelRyb2NPUWNrZFc2RTBHLCw4YjN3eDJhdlpQU3FQUlBQcipfMWhdRURWSEk1NTFjWy5oO0JncUl5cEo2K2xZcmtsK255Z1k7VCxGYjZdOz1hai5iaTkuMFtSb1U2bWhQXFFOUngvN1lqY2Y3WU1QZF4xYGM8MkpBWVJxPHp2Nzs6bmNVUUV3ZjFsa0xaXl9bTnNkOzFuQFRVMm9qb1Vxalc5UFJCRj5gVTowZmwtbkldcXFCN0MvbDlvMlM0Tk9cWkJzPDExVmJXNUl3Wkc5aGhLYUQ6NGxlcDVpSk0uMklPK3opVGN6dzlTNzdlR1pLZTBzbz1XdWRSNUZWdkxIP2tVYFl5RVZ2Vkoqa3hwK180ZitudWdHY3BLTzdPP0xNY3cyc0RUMFxgYEZtLF9ibF1kK2JjZ3N3Uipxa0locj5tX1xyWVB4RXkyQngvLC9RLFE%2FdFZCNlN0dFFZVy0uLTtYWixFLjBNfGNWbCxhR05fb19tbjhrVCloakdHS0thY0JYcj5lZUJyVmgsYC0xR01oPjlafFAwfDo7amZraj88P0FEPz9GSHd4RkZNT0xJT1FNLU5SU2MzIn0%3D" headers = { "Host": "yiyanapp.baidu.com", "Accept": "text/event-stream", - "Sec-Fetch-Site": "same-origin", - # "Acs-Token": "1751775388769_1751851559961_bhZQ4YI+QFmUuvgW70dSF4p6RO6kwt11kM1YLLkcALYQfKLMVkL4CaQihHY3UdL0U59IEuGQ18+yD/87YkdFFJjvRFtzv5V4w566SOzaV4Tl6MgUbtEXWZ1AIXHPKMOvdwofdSm4kY1DzhUDlUirlwEBtgg57atBjuGENz2ku0gIlOq7WF/KO9B8rZ8A+wZvDqBg64h0nWDr+OG7ggPF0m18dztme9wUmTomJ71gIxt6pfiIWP/ICkk0voivZe5/WZ2+n6H1jEiXrbZV2naPksyYjA9alnvptf5PU09c3+9ZzFa7Wh+iou+eKCxjjTv99f8BsQNAs0NVITq3szndR9ZAjqk7Tx5Pf1wskjrafPx4Gk5/tYj9PBEgIapBmvPmf1HBfNwI2zZbVHoEZnMuMllQ1AzDyFiVIdxkGAak3FmsIL/4k8XfcXxaB86CDVk2rKwOSDudYaDDSH5DkP/iWnFFUxAs6Y0/DZglPrMfYpFYgdnS+TD2/Qm5QXbsN1pBmmWjTuvzy9zjP5ykRhaqVg==", # ⚠️ 替换为抓包所得 Acs-Token - # "X-Bd-Alive": "86ff04fba2edb36666d4fbd126554961", + "Acs-Token": "1753247060952_1753249454932_Sx0qWvhpSEqXzeFVZfWjhajgI9acfaMFCrYjZzGN7ixGcXuCVLvn0QPuy/sSb1aJd5sutmLZqf6lJXHjsj3/Ls0hixZCVNgp5zSKGpxaOxK+DRWKizPtHHB2jDLYRGXsFIdtJfiqs37Ju/oieeKHevteS5Xrs1w+qE5gpc+z3AcQ9HG1pjbysU37KEUKy8n9UTg0xhpfslG0kat8tRM02up4+QsBDHoci9AP+9zYSRXd/Ay1Uh5u0AHeHY2nRNMv6+txzzdfED7IlPbWj1a7xsF3ak7pCqvWdjLelCXgVBWvc/wJwQw4hLr5Sfr9AeJSNN2Q7+GCL3yM4OVypUsEyBziASqAiLTe87j9JPTx/IanvUxg0HgxmVZJarY91Pm0puQhBVUR+DSIuj/zrdpCxdffx1m+0Lq9JskPhYXw4KZn8jwukybqCSGXbAjq7vrePNuuFgVXVStruZ4C0X94NYtv85sMpRdEw1TN8lbI7kt2B/1fdASUF94Nrbg7fx9+Ihvl4S9AoY5t/g1RVZqfhQ==", + "X-Bd-Alive": "bbd8e3a50a890b80110fcff0fd674290", "Accept-Language": "zh-CN,zh-Hans;q=0.9", "Sec-Fetch-Mode": "cors", "Accept-Encoding": "gzip, deflate, br", @@ -47,77 +46,47 @@ class WenxiaoyanSpider(AbstractAiSeoSpider): "Referer": "https://yiyanapp.baidu.com/talk/chat", "Connection": "keep-alive", "Content-Type": "application/json", - "Cookie": self.session_info.get("cookie") + "Sec-Fetch-Dest": "empty", + "Cookie": "__bid_n=197e279d29a43687ff36d1; ab_sr=1.0.1_YzNmZDY5MmMzZDdiYWM5NmIyYjkzMGE5YWMwYjRiMjZiZjg3OGVmYzIyMWE2ZmI0OGZlYjg3Njc3MDVhMmY5NTM4NDMxZDFlODg1MGI2MDFjYjkwM2Q3NzMxNTRjZjQ1MmEyY2RhNDExNmUxM2Q2MjUxMTRjMjY0NmFkMDg5MDZjNjk3MDkyYmUyNmNiMmUyNTkyYzYxNTE5NzU4ODFjNjI4NGYyYTFkYmJhZjdmYjRiNDY4ZmM3NjE0ODgwNDRi; BDUSS=w3QXkyMjFUTXdtYThpYUdkTHlGWWpiMFU1TGZjZWxaUEV-Mk1hV0hRS0ZBNmhvSVFBQUFBJCQAAAAAAQAAAAEAAABz6-yOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIV2gGiFdoBoUE; passtheme=light; SP_FW_VER=4.220.1; BAIDUCUID=Ya-oalOgvi0javtz_8BHf0axH8je828Elav7ijiSB8_Qu2ir_8vValtVWu039QRR0zXmA; matrixstyle=0; BAIDUID=976311C6B3BF9DB2D54171E6D3D928DF:FG=1; ST=2", } - payload = { - "parentId" : "7955151", - "inputSource" : "user_input", - "querySource" : "user_input", - "context" : [ - "7955151", - "7955150", - "7955113", - "7955112", - "7955075", - "7955074", - "7955051", - "7955050", - "7955045", - "7955044", - "7955015", - "7955014", - "7954965", - "7954964", - "7954865", - "7954864", - "7954863", - "7954862", - "7954831", - "7954830" - ], - "contentType" : "text", - "from" : "app", - "plugins" : { + payload = { + "content": "苹果", + "sessionId": "", + "contentType": "text", + "parentId": "", + "inputSource": "user_input", + "querySource": "user_input", + "context": [], + "plugins": {}, + "chooses": None, + "models": { + "dispatch": "", + "force": "", + "select": "auto", + "replyMode": "normal" }, - "models" : { - "dispatch" : "", - "force" : "", - "select" : "auto", - "replyMode" : "normal" - }, - "sessionId" : "1159258", - "chooses" : None, - "promptId" : "", - "botId" : "144038", - "characterId" : "1034", - "environment" : { - "isNewAB" : 1, - "depthAnalysis" : 0, - "hostTag" : "main_chat", - "composition" : None, - "sceneFrom" : "", - "individual" : "0", - "live" : { - "visOnline" : { - "per" : "4189", - "pdt" : "10170", - "audio_ctrl" : "{\"mid\":\"\",\"sampling_rate\":24000}", - "spd" : "5" - } - }, - "isReplyModeChange" : 0, - "memory" : { - "noMemoryExtraction" : 0 - }, - "depthMsgId" : "", - "clarify" : { - "enable" : 1, - "stage" : 1 + "newBot": True, + "from": "app", + "promptId": "", + "botId": "", + "characterId": "1034", + "environment": { + "clarify": {"enable": 1, "stage": 1}, + "isNewAB": 1, + "depthAnalysis": 0, + "depthMsgId": "", + "live": { + "visOnline": {"pdt": "10170", "per": "4189", "audio_ctrl": "{\"mid\":\"\",\"sampling_rate\":24000}", "spd": "5"} }, - "interveneId" : "" - }, - "content" : "小米" + "interveneId": "", + "hostTag": "main_chat", + "individual": "0", + "composition": None, + "memory": {"noMemoryExtraction": 0}, + "sceneFrom": "", + "isReplyModeChange": 0 + } } payload["content"] = question dic = {} @@ -149,38 +118,7 @@ class WenxiaoyanSpider(AbstractAiSeoSpider): except Exception as e: print(f"❌ 请求失败:{e}") return dic - # results.append({"question": question, "answer": "请求失败"}) - # ✅ 4. 批量问题 - # questions = [ - # "苹果手机咋样!", - # - # ] - # - # # ✅ 5. 结果列表 - # results = [] - # - # # ✅ 6. 主循环:发送每个问题 - # for q in questions: - # print(f"📨 提问中:{q}") - # payload["content"] = q - # try: - # r = requests.post(url, headers=headers, json=payload, stream=True, timeout=30) - # answer = "" - # for line in r.iter_lines(): - # if line: - # try: - # text = line.decode("utf-8") - # if text.startswith("data:"): - # print(json.loads(text[5:])) - # answer += json.loads(text[5:]).get("data", "").get("data", "").get("content", "") - # except: - # pass - # results.append({"question": q, "answer": answer}) - # print(f"✅ 回答:{answer}...\n") - # time.sleep(2) # 加一点延时防止频率过快 - # except Exception as e: - # print(f"❌ 请求失败:{e}") - # results.append({"question": q, "answer": "请求失败"}) + def get_url(self,idList): @@ -205,8 +143,8 @@ class WenxiaoyanSpider(AbstractAiSeoSpider): payload = { - "idList": "7924487,7924488", - "watermark": "qYbvOVmx", + "idList": "7691531,7691532", + "watermark": "xlSKFmsf", "vp": 0 } payload["idList"] = idList