一键爬取b站视频

发布于:2025-03-17 ⋅ 阅读:(17) ⋅ 点赞:(0)

同学们。废话不多说,

b站视频素材多,

二次加工就归你,

三话不说爬起来,

犯法违纪咱不干

代码

import json
import requests
from bs4 import BeautifulSoup
import re

# 目标网址

bvnane="BV1hUQEYCEyY"
pp=("0")
# url = f"https://www.bilibili.com/video/{bvnane}/?spm_id_from=333.1007.tianma.1-2-2.click&vd_source=efbc10526f5fa5642530923cf09ce506&p"
urll=f"https://www.bilibili.com/video/BV1hUQEYCEyY/?vd_source=efbc10526f5fa5642530923cf09ce506"

# url="https://www.bilibili.com/video/BV1b7411N798/?spm_id_from=333.788.player.switch&vd_source=efbc10526f5fa5642530923cf09ce506&p=5"
# 发送HTTP请求
headers = {

    "Cookie": "

    "Origin": "https://www.bilibili.com",
"Referer":f"https://www.bilibili.com/video/{bvnane}/",

    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0"

}
response = requests.get(urll, headers=headers)

print(response.status_code)
aid_match = re.findall('.*"video":\[{"id":\d+,"baseUrl":"(.*?)","base_url":', response.text)[0]
audioo = re.findall('.*"audio":\[{"id":\d+,"baseUrl":"(.*?)","base_url":', response.text)[0]

# print(audioo)
# TODO 通过F12查看视频的地址
# video_url = "https://xy112x46x159x206xy.mcdn.bilivideo.cn:8082/v1/resource/28819000067-1-30232.m4s?agrr=1&build=0&buvid=EF0FD31D-EF92-A685-BB65-AD1B92E5D39A34121infoc&bvc=vod&bw=10394&cdnid=14652&deadline=1741954587&e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M%3D&f=u_0_0&gen=playurlv2&logo=80000000&mid=580435041&nbs=1&nettype=0&og=hw&oi=0&orderid=0%2C3&os=bcache&platform=pc&sign=692bde&traceid=trfIBPuAGcNide_0_e_N&uipk=5&uparams=e%2Cuipk%2Cnbs%2Cdeadline%2Cgen%2Cos%2Coi%2Ctrid%2Cmid%2Cplatform%2Cog&upsig=482eb93010d5589bde95faca0651fd1c"
#
video_response = requests.get(aid_match, headers=headers)

autiion=requests.get(audioo, headers=headers)
name='shiping.mp4'
pathmv="D:\pcsuite\jianying\剪映保存\\"+name
with open(pathmv, mode='wb') as v:
    v.write(video_response.content)
pahtaudio="D:\pcsuite\jianying\剪映保存\\"+"au"+name
with open(pahtaudio, mode='wb') as v:
    v.write(autiion.content)


# cids_match = re.findall(f'.*"{url.split("/")[4]}","cid":(\d+),"p":{pp},', response.text)[0]
# # cids_match = re.findall(f'.*"{url.split("/")[4]}","cid":(\d+),', response.text)[0]
#

这里cookie的话用自己电脑上面的,然后你就能获得b站的视频和音频了