zhangyong před 4 měsíci
rodič
revize
f1a8f76db4
2 změnil soubory, kde provedl 12 přidání a 13 odebrání
  1. 10 10
      carry_video/carry_video.py
  2. 2 3
      common/download_video.py

+ 10 - 10
carry_video/carry_video.py

@@ -63,15 +63,15 @@ class CarryViode:
                     data = response["data"]["data"]
                     video_url = data["video_url_list"][0]["video_url"]
                     original_title = data["title"]
-                    return video_url, original_title
+                    return video_url, original_title, video_id
                 if code == 22002:
                     if '抖音内容已被删除或无法访问' in response['msg']:
-                        return "作品不存在", None
+                        return "作品不存在", None, None
             except Exception as e:
                 retry_count += 1
                 logger.error(f"[+] 抖音{url}获取视频链接失败,失败信息{e}")
                 time.sleep(1)
-        return None, None
+        return None, None, None
 
     def get_text_ks_video(self,url):
         try:
@@ -107,15 +107,15 @@ class CarryViode:
                         return "note","note"
                     video_url = data["video_url_list"][0]["video_url"]
                     original_title = data["title"]
-                    return video_url, original_title
+                    return video_url, original_title, video_id
                 elif code == 27006:
                     if "作品不存在" in response['msg']:
-                        return "作品不存在", None
+                        return "作品不存在", None, None
                 time.sleep(3)
-            return None,None
+            return None,None,None
         except Exception as e:
             logger.error(f"[+] 快手{url}获取视频链接失败,失败信息{e}")
-            return None, None
+            return None, None,None
 
 
     def insert_pq(self, REDIS_NAME, data, oss_object_key, title, tags, tag_transport_channel, channel_mark):
@@ -224,11 +224,11 @@ class CarryViode:
             if host in ['v.douyin.com', 'www.douyin.com', 'www.iesdouyin.com']:
                 tag_transport_channel = "抖音"
                 logger.info(f"[+] {url}开始获取抖音视频链接")
-                url, original_title =  self.get_text_dy_video(url=url)
+                url, original_title, video_id =  self.get_text_dy_video(url=url)
             elif host in ['v.kuaishou.com', 'www.kuaishou.com', 'v.m.chenzhongtech.com', 'creater.eozatvmq.com']:
                 tag_transport_channel = "快手"
                 logger.info(f"[+] {url}开始获取快手视频链接")
-                url, original_title = self.get_text_ks_video(url=url)
+                url, original_title, video_id = self.get_text_ks_video(url=url)
             else:
                 AliyunLogger.logging(data["name"], "效率工具", "", data["video_url"], "扫描到一条视频",
                                      "2001", str(data))
@@ -289,7 +289,7 @@ class CarryViode:
             return
 
         logger.info(f"[+] {url}开始下载视频")
-        video_path = DownLoad.download_video(url, file_path, tag_transport_channel)
+        video_path = DownLoad.download_video(url, file_path, tag_transport_channel, video_id)
         # video_path = Oss.download_video_oss(url, file_path)
         if not os.path.exists(video_path) or os.path.getsize(video_path) == 0:
             in_carry_video_data(REDIS_NAME, json.dumps(data, ensure_ascii=False, indent=4))

+ 2 - 3
common/download_video.py

@@ -6,7 +6,7 @@ import requests
 
 class DownLoad:
     @classmethod
-    def download_video(cls, video_url, video_path_url, tag_transport_channel):
+    def download_video(cls, video_url, video_path_url, tag_transport_channel, video_id):
         video = video_path_url + 'video.mp4'
         if tag_transport_channel == "抖音":
             headers = {
@@ -15,10 +15,9 @@ class DownLoad:
                 'accept-language': 'zh-CN,zh;q=0.9',
                 'cache-control': 'no-cache',
                 'connection': 'keep-alive',
-                'host': urlparse(video_url).netloc,
                 'pragma': 'no-cache',
                 'range': 'bytes=0-',
-                'referer': video_url,
+                'referer': f'https://www.douyin.com/video/{video_id}',
                 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36',
             }
             payload = {}