Browse Source

更新到完全版本,无障碍使用

Cloudmistery 9 months ago
parent
commit
5840ee851e

+ 30 - 7
Bilibili.py

@@ -1,21 +1,24 @@
 import json
 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/BV1H7421T7zx/?spm_id_from=333.337.search-card.all.click&vd_source=f6247aa12dae1ff1bce74ef0af381757'
 
 def GetResponse(url):
     headers = {
         'accept': 'text / html, application / xhtml + xml, application / xml;q = 0.9, image / avif, image / webp, image / apng, * / *;q = 0.8, application / signed - exchange;v = b3;q = 0.7',
         'accept - encoding': 'gzip, deflate',
         'accept - language': 'zh - CN, zh;q = 0.9, en;q = 0.8, en - GB;q = 0.7, en - US;q = 0.6',
-        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.95 Safari/537.36',
+        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0',
         'Referer':'https://search.bilibili.com/all?vt=44591831&keyword=%E8%B0%81%E7%94%B5%E5%90%89%E4%BB%96%E8%B0%B1&from_source=webtop_search&spm_id_from=333.1007&search_source=2'
     }
     response = requests.get(url = url,headers = headers)
     return response
 
-def GetVideoInfo():
+def GetVideoInfo() -> str:
     response = GetResponse(url = url)
     html = response.text
     info = re.findall('<script>window.__playinfo__=(.*?)</script>', html)[0]
@@ -32,16 +35,36 @@ def GetVideoInfo():
 
     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('bili\\' + title + '.mp3', mode = 'wb') as audio:
+
+    with open('D:/pyp/bilibili_pachong/bilibili_files/Files/' + title + '.aac', mode='wb') as audio:
         audio.write(audio_content)
-    with open('bili\\' + title + '.mp4', mode = 'wb') as video:
-        video.write(video_content)
 
+    with open('D:/pyp/bilibili_pachong/bilibili_files/Files/' + title + '.mp4', mode='wb') as video:
+        video.write(video_content)
 
 
 if __name__ == '__main__':
     title,audio_url,video_url = GetVideoInfo()
-    Save(title, audio_url, video_url)
+    Save(title, audio_url, video_url)
+
+    # 加载视频和音频文件
+    audio_path = fr"D:\pyp\bilibili_pachong\bilibili_files\Files\MP3\{title}.aac"
+    audio_clip = AudioFileClip(audio_path)
+
+    video_path = fr"D:\pyp\bilibili_pachong\bilibili_files\Files\MP4\{title}.mp4"
+    video_clip = VideoFileClip(video_path)
+
+    # print(audio_clip,video_clip)
+
+    # 确保音频和视频长度相同
+    audio_clip = audio_clip.set_duration(video_clip.duration)
+
+    # 将音频设置到视频上
+    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")

BIN
Files/「全网超火纯音乐」混音 Memory Reboot x Time to Pretend_哔哩哔哩_bilibili合成.mp4


BIN
Files/【AI Chester Bennington】Running Up That Hill_哔哩哔哩_bilibili.aac


BIN
Files/【AI Chester Bennington】Running Up That Hill_哔哩哔哩_bilibili.mp4


BIN
Files/【AI Chester Bennington】Running Up That Hill_哔哩哔哩_bilibili合成.mp4


BIN
MP3/「全网超火纯音乐」混音 Memory Reboot x Time to Pretend_哔哩哔哩_bilibili.aac


BIN
MP3/【AI Chester Bennington】Running Up That Hill_哔哩哔哩_bilibili.aac


BIN
MP4/「全网超火纯音乐」混音 Memory Reboot x Time to Pretend_哔哩哔哩_bilibili.mp4


BIN
MP4/「全网超火纯音乐」混音 Memory Reboot x Time to Pretend_哔哩哔哩_bilibili合成.mp4


BIN
MP4/【AI Chester Bennington】Running Up That Hill_哔哩哔哩_bilibili.mp4


BIN
MP4/【AI Chester Bennington】Running Up That Hill_哔哩哔哩_bilibili合成.mp4


+ 0 - 0
new.mp4


BIN
newTEMP_MPY_wvf_snd.mp4


BIN
「全网超火纯音乐」混音 Memory Reboot x Time to Pretend_哔哩哔哩_bilibili合成.mp4