@ -31,14 +31,13 @@ class WenxiaoyanSpider(AbstractAiSeoSpider): 
		
	
		
			
				
 
		
	
		
			
				
 
		
	
		
			
				    def  get_answer ( self , question ) :     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 %24e yJrIj4iOCI0Iix5IkciQEdGRUVITkpITlBMSyJJIkFqIjwiNTw7Ojo9Qz89Q0VARiI % 2BIjYzIlEiSlFQT09SWDQyNzs2NyIzIit5IkYiPiI8IjYiTiJHRUlRSEtKTyJLImsiPSI0PD9AelRyb2NPUWNrZFc2RTBHLCw4YjN3eDJhdlpQU3FQUlBQcipfMWhdRURWSEk1NTFjWy5oO0JncUl5cEo2K2xZcmtsK255Z1k7VCxGYjZdOz1hai5iaTkuMFtSb1U2bWhQXFFOUngvN1lqY2Y3WU1QZF4xYGM8MkpBWVJxPHp2Nzs6bmNVUUV3ZjFsa0xaXl9bTnNkOzFuQFRVMm9qb1Vxalc5UFJCRj5gVTowZmwtbkldcXFCN0MvbDlvMlM0Tk9cWkJzPDExVmJXNUl3Wkc5aGhLYUQ6NGxlcDVpSk0uMklPK3opVGN6dzlTNzdlR1pLZTBzbz1XdWRSNUZWdkxIP2tVYFl5RVZ2Vkoqa3hwK180ZitudWdHY3BLTzdPP0xNY3cyc0RUMFxgYEZtLF9ibF1kK2JjZ3N3Uipxa0locj5tX1xyWVB4RXkyQngvLC9RLFE %2F dFZCNlN0dFFZVy0uLTtYWixFLjBNfGNWbCxhR05fb19tbjhrVCloakdHS0thY0JYcj5lZUJyVmgsYC0xR01oPjlafFAwfDo7amZraj88P0FEPz9GSHd4RkZNT0xJT1FNLU5SU2MzIn0 % 3D "   
		
	
		
			
				
 
		
	
		
			
				        headers  =  {         headers  =  {  
		
	
		
			
				            " Host " :  " yiyanapp.baidu.com " ,             " Host " :  " yiyanapp.baidu.com " ,  
		
	
		
			
				            " Accept " :  " text/event-stream " ,             " 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 " ,             " Accept-Language " :  " zh-CN,zh-Hans;q=0.9 " ,  
		
	
		
			
				            " Sec-Fetch-Mode " :  " cors " ,             " Sec-Fetch-Mode " :  " cors " ,  
		
	
		
			
				            " Accept-Encoding " :  " gzip, deflate, br " ,             " Accept-Encoding " :  " gzip, deflate, br " ,  
		
	
	
		
			
				
					
					
					
						
							 
					
				 
				@ -47,77 +46,47 @@ class WenxiaoyanSpider(AbstractAiSeoSpider): 
		
	
		
			
				            " Referer " :  " https://yiyanapp.baidu.com/talk/chat " ,             " Referer " :  " https://yiyanapp.baidu.com/talk/chat " ,  
		
	
		
			
				            " Connection " :  " keep-alive " ,             " Connection " :  " keep-alive " ,  
		
	
		
			
				            " Content-Type " :  " application/json " ,             " 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  =  {         payload  =  {  
		
	
		
			
				            " parentId "  :  " 7955151 " ,  
		
	
		
			
				            " content " :  " 苹果 " ,  
		
	
		
			
				            " sessionId " :  " " ,  
		
	
		
			
				            " contentType " :  " text " ,  
		
	
		
			
				            " parentId " :  " " ,  
		
	
		
			
				            " inputSource " :  " user_input " ,             " inputSource " :  " user_input " ,  
		
	
		
			
				            " querySource " :  " 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 "  :  {  
		
	
		
			
				
 
		
	
		
			
				            } ,  
		
	
		
			
				            " context " :  [ ] ,  
		
	
		
			
				            " plugins " :  { } ,  
		
	
		
			
				            " chooses " :  None ,  
		
	
		
			
				            " models " :  {             " models " :  {  
		
	
		
			
				                " dispatch " :  " " ,                 " dispatch " :  " " ,  
		
	
		
			
				                " force " :  " " ,                 " force " :  " " ,  
		
	
		
			
				                " select " :  " auto " ,                 " select " :  " auto " ,  
		
	
		
			
				                " replyMode " :  " normal "                 " replyMode " :  " normal "  
		
	
		
			
				            } ,             } ,  
		
	
		
			
				            " sessionId "  :  " 1159258 " ,  
		
	
		
			
				            " chooses "  :  None ,  
		
	
		
			
				            " newBot " :  True ,  
		
	
		
			
				            " from " :  " app " ,  
		
	
		
			
				            " promptId " :  " " ,             " promptId " :  " " ,  
		
	
		
			
				            " botId "   :  " 144038 " ,  
		
	
		
			
				            " botId " :  " " ,  
		
	
		
			
				            " characterId " :  " 1034 " ,             " characterId " :  " 1034 " ,  
		
	
		
			
				            " environment " :  {             " environment " :  {  
		
	
		
			
				                " clarify " :  { " enable " :  1 ,  " stage " :  1 } ,  
		
	
		
			
				                " isNewAB " :  1 ,                 " isNewAB " :  1 ,  
		
	
		
			
				                " depthAnalysis " :  0 ,                 " depthAnalysis " :  0 ,  
		
	
		
			
				                " depthMsgId " :  " " ,  
		
	
		
			
				                " live " :  {  
		
	
		
			
				                    " visOnline " :  { " pdt " :  " 10170 " ,  " per " :  " 4189 " ,  " audio_ctrl " :  " { \" mid \" : \" \" , \" sampling_rate \" :24000} " ,  " spd " :  " 5 " }  
		
	
		
			
				                } ,  
		
	
		
			
				                " interveneId " :  " " ,  
		
	
		
			
				                " hostTag " :  " main_chat " ,                 " hostTag " :  " main_chat " ,  
		
	
		
			
				                " individual " :  " 0 " ,  
		
	
		
			
				                " composition " :  None ,                 " composition " :  None ,  
		
	
		
			
				                " memory " :  { " noMemoryExtraction " :  0 } ,  
		
	
		
			
				                " sceneFrom " :  " " ,                 " sceneFrom " :  " " ,  
		
	
		
			
				                " individual "  :  " 0 " ,  
		
	
		
			
				                " live "  :  {  
		
	
		
			
				                    " visOnline "  :  {  
		
	
		
			
				                        " per "  :  " 4189 " ,  
		
	
		
			
				                        " pdt "  :  " 10170 " ,  
		
	
		
			
				                        " audio_ctrl "  :  " { \" mid \" : \" \" , \" sampling_rate \" :24000} " ,  
		
	
		
			
				                        " spd "  :  " 5 "  
		
	
		
			
				                " isReplyModeChange " :  0  
		
	
		
			
				            }             }  
		
	
		
			
				                } ,  
		
	
		
			
				                " isReplyModeChange "  :  0 ,  
		
	
		
			
				                " memory "  :  {  
		
	
		
			
				                    " noMemoryExtraction "  :  0  
		
	
		
			
				                } ,  
		
	
		
			
				                " depthMsgId "  :  " " ,  
		
	
		
			
				                " clarify "  :  {  
		
	
		
			
				                    " enable "  :  1 ,  
		
	
		
			
				                    " stage "  :  1  
		
	
		
			
				                } ,  
		
	
		
			
				                " interveneId "  :  " "  
		
	
		
			
				            } ,  
		
	
		
			
				            " content "  :  " 小米 "  
		
	
		
			
				        }         }  
		
	
		
			
				        payload [ " content " ]  =  question         payload [ " content " ]  =  question  
		
	
		
			
				        dic  =  { }         dic  =  { }  
		
	
	
		
			
				
					
						
							 
					
					
						
							 
					
					
				 
				@ -149,38 +118,7 @@ class WenxiaoyanSpider(AbstractAiSeoSpider): 
		
	
		
			
				        except  Exception  as  e :         except  Exception  as  e :  
		
	
		
			
				            print ( f " ❌ 请求失败:{e} " )             print ( f " ❌ 请求失败:{e} " )  
		
	
		
			
				        return  dic         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 ) :     def  get_url ( self , idList ) :  
		
	
		
			
				
 
		
	
	
		
			
				
					
					
					
						
							 
					
				 
				@ -205,8 +143,8 @@ class WenxiaoyanSpider(AbstractAiSeoSpider): 
		
	
		
			
				
 
		
	
		
			
				
 
		
	
		
			
				        payload  =  {         payload  =  {  
		
	
		
			
				            " idList " :  " 7924487,7924488  " ,  
		
	
		
			
				            " watermark " :  " qYbvOVm x" ,  
		
	
		
			
				            " idList " :  " 7691531,7691532  " ,  
		
	
		
			
				            " watermark " :  " xlSKFmsf  " ,  
		
	
		
			
				            " vp " :  0             " vp " :  0  
		
	
		
			
				        }         }  
		
	
		
			
				        payload [ " idList " ]  =  idList         payload [ " idList " ]  =  idList