这期内容当中小编将会给大家带来有关怎么让Python爬取B站视频,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
站在用户的角度思考问题,与客户深入沟通,找到坪山网站设计与坪山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、做网站、企业官网、英文网站、手机端网站、网站推广、域名申请、网页空间、企业邮箱。业务覆盖坪山地区。
B站是国内知名的视频弹幕网站,有最及时的动漫新番,ACG氛围,最有创意的Up主。站点中的视频数据分成了视频画面和音频数据。
今天带大家下载以及合并B站的视频。
python 3.6
pycharm
requests
re
json
subprocess
目标网页分析
导入工具
import requests import re # 正则表达式 import pprint import json import subprocess
请求头
headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}
请求数据
def send_request(url): response = requests.get(url=url, headers=headers) return response
解析视频数据
def get_video_data(html_data):
"""解析视频数据"""
# 提取视频的标题
title = re.findall('(.*?)', html_data)[0]
# print(title)
# 提取视频对应的json数据
json_data = re.findall('', html_data)[0]
# print(json_data) # json_data 字符串
json_data = json.loads(json_data)
pprint.pprint(json_data)
# 提取音频的url地址
audio_url = json_data['data']['dash']['audio'][0]['backupUrl'][0]
print('解析到的音频地址:', audio_url)
# 提取视频画面的url地址
video_url = json_data['data']['dash']['video'][0]['backupUrl'][0]
print('解析到的视频地址:', video_url)
video_data = [title, audio_url, video_url]
return video_data
保存数据
def save_data(file_name, audio_url, video_url): # 请求数据 print('正在请求音频数据') audio_data = send_request(audio_url).content print('正在请求视频数据') video_data = send_request(video_url).content with open(file_name + '.mp3', mode='wb') as f: f.write(audio_data) print('正在保存音频数据') with open(file_name + '.mp4', mode='wb') as f: f.write(video_data) print('正在保存视频数据')
数据的合并
def merge_data(video_name): print('视频合成开始:', video_name) # ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict experimental output.mp4 COMMAND = f'ffmpeg -i {video_name}.mp4 -i {video_name}.mp3 -c:v copy -c:a aac -strict experimental output.mp4' subprocess.Popen(COMMAND, shell=True) print('视频合成结束:', video_name)
效果图
这里使用到一个工具<ffmpeg>,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
下载之后解压即可,但是需要你设置环境变量。
1、我的电脑,鼠标右键点击属性
2、选择系统高级设置
4、添加环境变量,复制文件路径,选择新建添加即可。
上述就是小编为大家分享的怎么让Python爬取B站视频了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。