wangkun 2 lat temu
rodzic
commit
b3d73737c7

+ 29 - 1
common/common.py

@@ -13,7 +13,6 @@ import requests
 import ffmpeg
 import urllib3
 import subprocess
-proxies = {"http": None, "https": None}
 
 
 class Common:
@@ -263,8 +262,37 @@ class Common:
         except Exception as e:
             Common.logger(log_type, crawler).error(f'video_compose异常:{e}\n')
 
+    # 快代理
+    @classmethod
+    def tunnel_proxies(cls):
+        # 隧道域名:端口号
+        tunnel = "q796.kdltps.com:15818"
+
+        # 用户名密码方式
+        username = "t17772369458618"
+        password = "5zqcjkmy"
+        proxies = {
+            "http": "http://%(user)s:%(pwd)s@%(proxy)s/" % {"user": username, "pwd": password, "proxy": tunnel},
+            "https": "http://%(user)s:%(pwd)s@%(proxy)s/" % {"user": username, "pwd": password, "proxy": tunnel}
+        }
+
+        # 白名单方式(需提前设置白名单)
+        # proxies = {
+        #     "http": "http://%(proxy)s/" % {"proxy": tunnel},
+        #     "https": "http://%(proxy)s/" % {"proxy": tunnel}
+        # }
+
+        # 要访问的目标网页
+        # target_url = "https://www.kuaishou.com/profile/3xk9tkk6kkwkf7g"
+
+        # # 使用隧道域名发送请求
+        # response = requests.get(target_url, proxies=proxies)
+        # print(response.status_code)
+        return proxies
+
 
 if __name__ == "__main__":
+    Common.tunnel_proxies()
 
     pass
 

+ 2 - 2
kuaishou/kuaishou_follow/kuaishou_follow.py

@@ -142,7 +142,7 @@ class Follow:
                 'sec-ch-ua-mobile': '?0',
                 'sec-ch-ua-platform': '"macOS"'
             }
-            response = requests.post(url=url, headers=headers, data=payload)
+            response = requests.post(url=url, headers=headers, data=payload, proxies=Common.tunnel_proxies())
             Common.logger(log_type, crawler).info(f"get_out_user_info_response:{response.text}")
             if response.status_code != 200:
                 Common.logger(log_type, crawler).warning(f"get_out_user_info_response:{response.text}\n")
@@ -335,7 +335,7 @@ class Follow:
                     # 'sec-ch-ua-mobile': '?0',
                     # 'sec-ch-ua-platform': '"macOS"'
                 }
-                response = requests.post(url=url, headers=headers, data=payload)
+                response = requests.post(url=url, headers=headers, data=payload, proxies=Common.tunnel_proxies())
                 # Common.logger(log_type, crawler).info(f"get_videoList:{response.text}\n")
                 if response.status_code != 200:
                     Common.logger(log_type, crawler).warning(f"get_videoList_response:{response.text}\n")

BIN
weixinzhishu/logs/.DS_Store


+ 1 - 1
weixinzhishu/weixinzhishu_main/get_weixinzhishu.py

@@ -240,6 +240,6 @@ class Weixinzhishu:
 
 
 if __name__ == "__main__":
-    Weixinzhishu.get_score_test('weixin', 'weixinzhishu', 1 , "魅力")
+    Weixinzhishu.get_score_test('weixin', 'weixinzhishu', 1 , "原因")
 
     pass

+ 3 - 4
xigua/xigua_follow/xigua_follow.py

@@ -24,7 +24,6 @@ from common.users import Users
 from common.common import Common
 from common.feishu import Feishu
 from common.publish import Publish
-proxies = {"http": None, "https": None}
 
 
 class Follow:
@@ -105,7 +104,7 @@ class Follow:
                        'Cookie': f'ixigua-a-s=1; support_webp=true; support_avif=false; csrf_session_id=a5355d954d3c63ed1ba35faada452b4d; __ac_signature={cls.random_signature()}; MONITOR_WEB_ID=67cb5099-a022-4ec3-bb8e-c4de6ba51dd0; s_v_web_id=verify_lef4i99x_32SosrdH_Qrtk_4LJn_8S7q_fhu16xe3s8ZV; tt_scid=QLJjPuHf6wxVqu6IIq6gHiJXQpVrCwrdhjH2zpm7-E3ZniE1RXBcP6M8b41FJOdo41e1; ttwid=1%7CHHtv2QqpSGuSu8r-zXF1QoWsvjmNi1SJrqOrZzg-UCY%7C1677047013%7C5866a444e5ae10a9df8c11551db75010fb77b657f214ccf84e503fae8d313d09; msToken=PerXJcDdIsZ6zXkGITsftXX4mDaVaW21GuqtzSVdctH46oXXT2GcELIs9f0XW2hunRzP6KVHLZaYElRvNYflLKUXih7lC27XKxs3HjdZiXPK9NQaoKbLfA==; ixigua-a-s=1',}
             url = f"https://www.ixigua.com/home/{out_uid}"
 
-            response = requests.get(url=url, headers=headers, proxies=proxies).text
+            response = requests.get(url=url, headers=headers, proxies=Common.tunnel_proxies()).text
             html = etree.HTML(response)
             out_follow_str = html.xpath('//div[@class="userDetailV3__header__detail2"]/*[1]/span')[0].text.encode('raw_unicode_escape').decode()
             out_fans_str = html.xpath('//div[@class="userDetailV3__header__detail2"]/*[2]/span')[0].text.encode('raw_unicode_escape').decode()
@@ -286,7 +285,7 @@ class Follow:
                 'xiguavideopcwebid.sig': 'xxRww5R1VEMJN_dQepHorEu_eAc',
             }
             urllib3.disable_warnings()
-            response = requests.get(url=url, headers=headers, params=params, cookies=cookies, verify=False)
+            response = requests.get(url=url, headers=headers, params=params, cookies=cookies, verify=False, proxies=Common.tunnel_proxies())
             if 'data' not in response.json() or response.json()['data'] == '':
                 Common.logger(log_type, crawler).warning('get_video_info: response: {}', response)
             else:
@@ -677,7 +676,7 @@ class Follow:
                     # 'x-secsdk-csrf-token': '00010000000119e3f9454d1dcbb288704cda1960f241e2d19bd21f2fd283520c3615a990ac5a17448bfbb902a249'
                 }
                 urllib3.disable_warnings()
-                response = requests.get(url=url, headers=headers, params=params, proxies=proxies, verify=False)
+                response = requests.get(url=url, headers=headers, params=params, proxies=Common.tunnel_proxies(), verify=False)
                 cls.offset += 30
                 if response.status_code != 200:
                     Common.logger(log_type, crawler).warning(f"get_videolist_response:{response.text}\n")