简单三步,教你学会Python下载视频(三分钟上手)

该博客介绍了如何利用Python的PySimpleGUI和requests库下载Bilibili视频。首先安装所需模块,然后通过输入视频URL和保存路径,获取视频CID并下载指定集数的视频,最终保存为MP4格式。
摘要由CSDN通过智能技术生成

💖 作者:大家好,我是阿旭😜
🎉 支持我:点赞👍收藏⭐️留言📝
📣 系列专栏:Python Pachong 🍁

下载b ili b ili视频~

项目代码

首先你需要先将PySimpleGUIrequests这两个模块安装到你的Python环境中。

pip install pysimplegui
pip install requests

接下来就是我们的代码啦❗️❗️❗️❗️

import PySimpleGUI as sg
import json
import requests

layout = [
    [sg.Text('视频地址:')],
    [sg.Input(key='video_url')],
    [sg.Text('保存地址:')],
    [sg.In(key='dir_name'), sg.FolderBrowse(target='dir_name')],
    [sg.Text('爬取前几集:')], 
    [sg.Slider(range=(1,10),orientation='horizontal', key='page')],
    [sg.Exit('取消'), sg.Button('确认')]
]

window = sg.Window('视频pa取', layout)
event, values = window.read()

save_path = values.get('dir_name')
b_url = values.get('video_url')

bvid = b_url.split('?')[0].split('/')[-1]

if not bvid:
    bvid = b_url.split('?')[0].split('/')[-2]

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36',
    'Referer': 'https://www.bilibili.com/'
}

cid_api = json.loads(requests.get(f'https://api.bilibili.com/x/player/pagelist?bvid={bvid}&jsonp=jsonp').text)
count = int(values.get('page'))

for i in range(count):
    cid = cid_api['data'][i]['cid']
    video_api = json.loads(requests.get(f'https://api.bilibili.com/x/player/playurl?bvid={bvid}&cid={cid}&qn=64').text)
    vurl = video_api['data']['durl'][0]['url']
    vr = requests.get(vurl, headers=headers)
    open(f'{save_path}/{i+1}.mp4','ab').write(vr.content)

sg.popup('Done!')

🎉 支持我:点赞👍收藏⭐️留言📝
📣 系列专栏:Python Pachong 🍁

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wxlo0.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值