Browse Source

此版本优化了文件名违法字符问题

Cloudmistery 9 months ago
parent
commit
115d062384
1 changed files with 14 additions and 9 deletions
  1. 14 9
      Bilibili.py

+ 14 - 9
Bilibili.py

@@ -3,7 +3,7 @@ import requests
 import re
 from moviepy.editor import VideoFileClip, AudioFileClip, CompositeVideoClip
 
-url = 'https://www.bilibili.com/video/BV1iu4y1h7Az/?spm_id_from=333.999.0.0&vd_source=f6247aa12dae1ff1bce74ef0af381757'
+url = 'https://www.bilibili.com/video/BV1Ce4y1z72V/?spm_id_from=333.999.0.0'
 
 
 
@@ -27,23 +27,28 @@ def GetVideoInfo() -> str:
     audio_url = json_data['data']['dash']['audio'][0]['baseUrl']
     video_url = json_data['data']['dash']['video'][0]['baseUrl']
     title = re.findall('<title data-vue-meta="true">(.*?)</title>', html)
-
+    print(title)
     if title:
         title = title[0]
+        illegal_chars = fr'<>:"/\\|?*'
+        def remove_illegal_chars(s):
+            for char in illegal_chars:
+                s = s.replace(char, "")
+            return s
+        title = remove_illegal_chars(title)
     else:
         return None
-
+    print(title)
     return (title, audio_url, video_url)
 
-
 def Save(title,audio_url,video_url):
     audio_content = GetResponse(url = audio_url).content
     video_content = GetResponse(url = video_url).content
 
-    with open('D:/pyp/bilibili_pachong/bilibili_files/Files/' + title + '.aac', mode='wb') as audio:
+    with open('D:/pyp/bilibili_pachong/bilibili_files/AAC/' + title + '.aac', mode='wb') as audio:
         audio.write(audio_content)
 
-    with open('D:/pyp/bilibili_pachong/bilibili_files/Files/' + title + '.mp4', mode='wb') as video:
+    with open('D:/pyp/bilibili_pachong/bilibili_files/MP4/' + title + '.mp4', mode='wb') as video:
         video.write(video_content)
 
 
@@ -52,10 +57,10 @@ if __name__ == '__main__':
     Save(title, audio_url, video_url)
 
     # 加载视频和音频文件
-    audio_path = fr"D:\pyp\bilibili_pachong\bilibili_files\Files\MP3\{title}.aac"
+    audio_path = fr"D:\pyp\bilibili_pachong\bilibili_files\AAC\{title}.aac"
     audio_clip = AudioFileClip(audio_path)
 
-    video_path = fr"D:\pyp\bilibili_pachong\bilibili_files\Files\MP4\{title}.mp4"
+    video_path = fr"D:\pyp\bilibili_pachong\bilibili_files\MP4\{title}.mp4"
     video_clip = VideoFileClip(video_path)
 
     # print(audio_clip,video_clip)
@@ -67,4 +72,4 @@ if __name__ == '__main__':
     video_clip_with_audio = video_clip.set_audio(audio_clip)
 
     # 输出合并后的文件
-    video_clip_with_audio.write_videofile(fr"D:\pyp\bilibili_pachong\bilibili_files\Files\{title}合成.mp4", codec="libx264", audio_codec="aac")
+    video_clip_with_audio.write_videofile(fr"D:\pyp\bilibili_pachong\bilibili_files\Files\{title}synth.mp4", codec="libx264", audio_codec="aac")