错误的原因是在json_data中没有找到'play_url'这个键。可能是因为数据的结构发生了变化或者数据中没有包含这个键。

更改后的代码是:

for data in json_list:
    if 'play_url' in data:
        video_title = data['title'] + '.mp4'
        video_url = data['play_url']
        print(video_title,video_url)

        print('正在下载:',video_title)
        #第二次请求
        video_data = requests.get(video_url,headers=headers).content
        with open(r'./视频/'+video_title,'wb') as f:
            f.write(video_data)
            print('下载完成\n')
    else:
        print('该数据没有play_url键')

在遍历json_list时,先判断data是否包含'play_url'键,如果包含则执行下载操作,否则打印出该数据没有'play_url'键的提示。这样可以避免因为某些数据没有'play_url'键而导致的错误。

import requestsimport osimport jsonfrom moviepyeditor import VideoFileClip AudioFileClipfrom bs4 import BeautifulSoup#数据的抓取base_url = httpshaokanbaiducomhaokanui-searchpcsearchvideopn=2&rn=10&type=vid

原文地址: https://www.cveoy.top/t/topic/ie1R 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录