随笔 - 26,  文章 - 0,  评论 - 0,  阅读 - 13604
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# 话不多说,直接上源码<br>import urllib, requests
import urllib.request as req
import re
import json
import subprocess
 
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36',
    'referer': 'https://www.bilibili.com/'
}
 
video_path = './video/'
movie_path = './movie/'
def get_html_data(url_path):
 
    data_html = requests.get(url_path, headers=headers, proxies=proxies).text
    return data_html
 
 
def get_download_url():
    url = 'https://www.bilibili.com/video/av288087621/'
    data_html = get_html_data(url)
    title = re.findall('<span class="tit">(.*?)</span>', data_html)[0]
    json_data = re.findall('<script>window\.__playinfo__=(.*?)</script>', data_html)[0]
    json_data = json.loads(json_data)
    video_url = json_data['data']['dash']['audio'][0]['backupUrl'][0]
    movie_url = json_data['data']['dash']['video'][0]['backupUrl'][0]
    download_data(title, video_url, movie_url)
 
 
def download_data(title, video_url, movie_url):
    # 下载音频数据
    video_data = requests.get(video_url, headers=headers, proxies=proxies).content
 
    # 下载视频数据
    movie_data = requests.get(movie_url, headers=headers, proxies=proxies).content
    local_save_data(title, video_data, movie_data)
 
 
def local_save_data(title, video_data, movie_data):
    # 保存音频数据
    with open(video_path + title + '.mp3', 'wb') as w:
        w.write(video_data)
 
    # 保存视频数据
    with open(movie_path + title + '.mp4', 'wb') as w:
        w.write(movie_data)
 
    merge_data(title)
 
def merge_data(title):
    print("视频合成开始:%s" % title)
    COMMAND = f"ffmpeg -i {movie_path + title}.mp4 -i {video_path + title}.mp3 -c:v copy -c:a aac -strict experimental {movie_path}output.mp4"
    subprocess.Popen(COMMAND, shell=True)
    print("视频合成结束:%s" % title)
 
if __name__ == '__main__':
    get_download_url()

  

posted on   风雨无阻!  阅读(94)  评论(0)    收藏  举报
努力加载评论中...

点击右上角即可分享
微信分享提示