wangkun 2 years ago
parent
commit
a599cac7c4
4 changed files with 35 additions and 7 deletions
  1. 28 1
      main/common.py
  2. 2 2
      main/haokan_channel.py
  3. 3 2
      main/haokan_follow.py
  4. 2 2
      main/haokan_hot.py

+ 28 - 1
main/common.py

@@ -11,7 +11,6 @@ import os
 import time
 import requests
 import urllib3
-proxies = {"http": None, "https": None}
 
 
 class Common:
@@ -152,6 +151,34 @@ class Common:
             except Exception as e:
                 cls.logger(log_type).error(f"封面下载失败:{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 = Common()

+ 2 - 2
main/haokan_channel.py

@@ -88,7 +88,7 @@ class Channel:
                 'sec-ch-ua-platform': '"macOS"'
             }
             urllib3.disable_warnings()
-            r = requests.get(url=url, headers=headers, params=params, verify=False)
+            r = requests.get(url=url, headers=headers, params=params, proxies=Common.tunnel_proxies(), verify=False)
             if r.json()['errno'] != 0 or r.json()['errmsg'] != '成功':
                 Common.logger(log_type).error(f'feeds_response:{r.json()}\n')
             elif len(r.json()['data']['response']['videos']) == 0:
@@ -129,7 +129,7 @@ class Channel:
                               'Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62',
             }
             urllib3.disable_warnings()
-            r = requests.get(url=url, headers=headers, params=params, verify=False)
+            r = requests.get(url=url, headers=headers, params=params, proxies=Common.tunnel_proxies(), verify=False)
             if r.status_code != 200:
                 Common.logger(log_type).info(f'get_video_url_response:{r.text}')
             elif r.json()['errno'] != 0 or len(r.json()['data']) == 0:

+ 3 - 2
main/haokan_follow.py

@@ -89,7 +89,8 @@ class Follow:
                     'searchAfter': '',
                     '_api': '1'
                 }
-                response = requests.get(url=url, headers=headers, params=params, verify=False)
+                urllib3.disable_warnings()
+                response = requests.get(url=url, headers=headers, params=params, proxies=Common.tunnel_proxies(), verify=False)
                 if '"errno":0,' not in response.text:
                     Common.logger(log_type).warning(f'get_follow_feed:{response.text}\n')
                     return
@@ -244,7 +245,7 @@ class Follow:
                 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62',
             }
             urllib3.disable_warnings()
-            r = requests.get(url=url, headers=headers, params=params, verify=False)
+            r = requests.get(url=url, headers=headers, params=params, proxies=Common.tunnel_proxies(), verify=False)
             if r.status_code != 200:
                 video_url = ''
                 video_width = ''

+ 2 - 2
main/haokan_hot.py

@@ -62,7 +62,7 @@ class Hot:
                     'page': str(cls.page)
                 }
                 urllib3.disable_warnings()
-                r = requests.get(url=url, headers=headers, params=params, verify=False)
+                r = requests.get(url=url, headers=headers, params=params, proxies=Common.tunnel_proxies(), verify=False)
                 if r.json()['errno'] != 0 or r.json()['error'] != '成功':
                     Common.logger(log_type).error(f'feeds_response:{r.text}\n')
                     return
@@ -175,7 +175,7 @@ class Hot:
                 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62',
             }
             urllib3.disable_warnings()
-            r = requests.get(url=url, headers=headers, params=params, verify=False)
+            r = requests.get(url=url, headers=headers, params=params, proxies=Common.tunnel_proxies(), verify=False)
             if r.status_code != 200:
                 Common.logger(log_type).info(f'get_video_url_response:{r.text}')
             elif r.json()['errno'] != 0 or len(r.json()['data']) == 0: