赞
踩
I want my tears back,
I want my tears back now.
愿偿少年泪,犹趁未老时。
需要在代码运行前先下载性对应安装包:(建议使用国内源,比较快)
pip install lxml -i http://mirrors.aliyun.com/pypi/simple/
pip install xlwt -i https://mirrors.aliyun.com/pypi/simple/
pip install lxml -i https://mirrors.aliyun.com/pypi/simple/
pip install html5lib -i https://mirrors.aliyun.com/pypi/simple/
pip install pyinstaller -i https://mirrors.aliyun.com/pypi/simple/
pip install pillow -i https://mirrors.aliyun.com/pypi/simple/
pip install moviepy -i https://mirrors.aliyun.com/pypi/simple/
pip install selenium -i https://mirrors.aliyun.com/pypi/simple/
pip install flask -i https://mirrors.aliyun.com/pypi/simple/
- import json
- from moviepy.editor import *
- import requests
- from bs4 import BeautifulSoup
-
- url = 'https://www.bilibili.com/video/BV1tT421S7g7/?spm_id_from=333.337.search-card.all.click&vd_source=7142b5b1eab836288f62c1ffe55163e4'
- headers = {
- 'Host': 'www.bilibili.com',
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0',
- 'Referer': 'https://passport.bilibili.com/',
- 'Cookie': 'buvid3=9DE436D9-2F2E-F7BD-C79E-F03546217E5128133infoc; b_nut=1716538728; _uuid=16156D410-688B-6CBE-27510-F94356CF11F428938infoc; buvid_fp=073b7e7c7ee6268308cd8df7dde9d9f5; buvid4=024E9071-FEC3-079F-519D-9C53884AA52032794-024052408-lqLrmzovPDlglV9GeRbtSA%3D%3D; CURRENT_FNVAL=4048; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTc1NzM5MDQsImlhdCI6MTcxNzMxNDY0NCwicGx0IjotMX0.YJf4WsQDrwlkwCXa50er8sL8ZCgepO0xi6XVk9xTZaQ; bili_ticket_expires=1717573844; rpdid=|(u)YJY~~lmR0Ju~u~ulkmRm; bsource=search_baidu; b_lsid=10F310C101C_18FD7AAE929; enable_web_push=DISABLE; header_theme_version=CLOSE; bmg_af_switch=1; bmg_src_def_domain=i1.hdslb.com; home_feed_column=5; browser_resolution=1536-748; sid=84lnh9il; csrf_state=1f65a6ae3aaed692039754629a06140e; SESSDATA=8471d048%2C1732866704%2Cbe8ec%2A62CjDel1hgglJnXIR97ezgOJjSIgfHXzXQZpq2w3q2J22IQ2R16oyVM8foK6IQ474so3QSVi1jVG40TTZQMDlzdGtQTzFlakZ5V2dtbkFsUENzaXp3aS1SR3V6RDBFd2xzdnRwaGs0Uk5QSHlUUWFnbmY0ei11bHNCa3A1OXhheko5UzBIVVprdFJBIIEC; bili_jct=c91d806419252514458d050c3db4b3fb; DedeUserID=482083730; DedeUserID__ckMd5=5ae676e59150c0ae'
- }
- response = requests.get(url,headers=headers)
- soup = BeautifulSoup(response.text,'html.parser')
- script_list = soup.find_all('script')
- temp = str(script_list[3]).replace('<script>window.__playinfo__=','').replace('</script>','')
- # 使用json.loads()方法将temp字符串解析为python对象
- # print(temp)
- video_info = json.loads(temp)
- video_url = video_info['data']['dash']['video'][1]['baseUrl']
- audio_url = video_info['data']['dash']['audio'][2]['baseUrl']
- dirname = 'B站白鸽'
- if not os.path.exists(dirname):
- os.mkdir(dirname)
- with open(f'{dirname}/希林娜依·高-白鸽(新版).mp4','wb') as fv:
- video_content = requests.get(video_url).content
- fv.write(video_content)
- with open(f'{dirname}/希林娜依·高-白鸽(新版).mp3','wb') as fv:
- audio_content = requests.get(audio_url).content
- fv.write(audio_content)
- video_path = f'{dirname}/希林娜依·高-白鸽(新版).mp4'
- audio_path = f'{dirname}/希林娜依·高-白鸽(新版).mp3'
- video = VideoFileClip(video_path)
- audio = AudioFileClip(audio_path)
- video = video.set_audio(audio)
- output_path = f'{dirname}/希林娜依·高-白鸽(合并版).mp4'
- video.write_videofile(output_path, codec='libx264', audio_codec='aac')

展示一下结果叭!
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。