import requests
from moviepy.editor import VideoFileClip, AudioFileClip
import os

if __name__ == '__main__':
    url = 'https://movie.douban.com/j/chart/top_list'
    param = {
        'type': '24',
        'interval_id': '100:90',
        'action': '',
        'start': '0',
        'limit': '10',
    }

    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.55'
    }
    response = requests.get(url=url, params=param, headers=headers)

    list_data = response.json()

    for data in list_data:
        title = data['title']
        if 'video_url' in data:
            video_url = data['video_url']
            video_res = requests.get(video_url, headers=headers)
            with open(f'{title}.mp4', 'wb') as v_file:
                v_file.write(video_res.content)

        if 'audio_url' in data:
            audio_url = data['audio_url']
            audio_res = requests.get(audio_url, headers=headers)
            with open(f'{title}.mp3', 'wb') as a_file:
                a_file.write(audio_res.content)

        video_clip = VideoFileClip(f'{title}.mp4')
        audio_clip = AudioFileClip(f'{title}.mp3')
        merge_result = video_clip.set_audio(audio_clip)
        merge_result.write_videofile(f'merge-{title}.mp4')

        os.remove(f'{title}.mp4')
        os.remove(f'{title}.mp3')

    print('视频合并完成!')
Python爬虫:下载豆瓣电影Top10并合并音视频

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

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