

运输错了,还是少了什么请指导指导我Python 帮我在图片哪里看看
正则有问题,还在采集?参考下面的,题注原来的代码获取json中数据也是有问题的。
import requests
import re
import json
def get_url(url):
head={
'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36',
'referer':'https://www.bilibili.com/video/BV1mX4y1U7K2'
}
res=requests.get(url=url,headers=head)
return res
def get_json_url(url):
res=get_url(url).text
title=re.findall('<title data-vue-meta="true">([^<]+)',res)[0].replace('_哔哩哔哩_bilibili','')
play_info=json.loads(re.findall(r'window.__playinfo__=([\s\S]+?)</script>',res)[0])
audio=play_info['data']['dash']['audio'][0]['backupUrl'][0]
video=play_info['data']['dash']['video'][0]['backupUrl'][0]
return [title,video,audio]
def save(url):
json_data=get_json_url(url=url)
title=json_data[0]
video_content=get_url(url=json_data[1]).content
audio_content=get_url(url=json_data[2]).content
with open (f'{title}.mp4','wb')as f:
f.write(video_content)
with open (f'{title}.mp3','wb')as f:
f.write(audio_content)
def start(bv):
print('开始下载')
url=f'https://bilibili.com/video/{bv}'
save(url)
print('下载完成')
#start('BV1hp4y1U7Ao')##这个参数错误
start('BV1mX4y1U7K2')