| 
					
				 | 
			
			
				@@ -50,12 +50,59 @@ class JXXFRecommend(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 token = data_json.get("token") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return token 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def logic(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for i in range(10): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            app_id = 'wx6692a24ad2a88bfb' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            js_code = self.get_js_code(app_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            token = self.get_search_params(app_id, js_code) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if token: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return token 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def get_js_code(self, app_id: str) -> str: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        js_code = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            url = 'http://61.48.133.26:30001/GetMiniAppCode' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "appid": app_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            response =requests.request(method='POST', url=url, json=data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            body = response.content.decode() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            res_data = json.loads(body) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            js_code = res_data['GetMiniAppCode'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return js_code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def get_search_params(self, app_id: str, js_code: str) -> dict: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            url = f"https://api.huanqiwl.top/index.php?s=mobile/Login/loginToken&code={js_code}&appid={app_id}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            headers = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'Connection': 'keep-alive', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'content-type': 'application/json', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.48(0x18003030) NetType/WIFI Language/zh_CN', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'Referer': 'https://servicewechat.com/wx6692a24ad2a88bfb/5/page-frame.html' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            response =requests.request(method='GET', headers=headers, url=url, data={}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            body = response.content.decode() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            body_json = json.loads(body) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data = body_json.get("data") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            token = data['token'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return token 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def get_recommend_list(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         获取推荐页视频 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        token = self.get_cookie() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        token = self.logic() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         headers = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'Host': 'api.huanqiwl.top', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'Content-Type': 'application/json', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -71,7 +118,10 @@ class JXXFRecommend(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             payload = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             response = requests.request("GET", url, headers=headers, data=payload, proxies=tunnel_proxies()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if "未登录" in response.text: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Feishu.bot(self.platform, 'jixiangxingfu', f'吉祥幸福token失效,请及时更换~') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                self.aliyun_log.logging( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    code="3000", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    message="抓取单条视频失败, token 失效" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for index, video_obj in enumerate(response.json()['data']['list'], 1): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 try: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -160,3 +210,4 @@ if __name__ == '__main__': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     J.get_recommend_list() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # J.logic() 
			 |