python 处理B站视频数据,数据存本地
- 绪论
- 实现
-
- [1 导入头文件](#1 导入头文件)
- [2. 获得数据的函数](#2. 获得数据的函数)
- [3 获取dvid](#3 获取dvid)
- [4 获取数据,保存](#4 获取数据,保存)
- 后续
绪论
上一个已经通过B站的API,来实现了对数据的读取,这篇文章就是,将数据存储在本地的TXT文件中
上一篇文章的连接:
链接: 使用python中的requests模块来实现B站视频数据的抓取
实现
实现大概分为三个步骤
- 打开文件,遍历,获得视频的dvid
- 根据读取到的ID,调用上一篇文章,获取视频数据
- 获取到数据后,将数据添加到文档
PS :数据的格式:时间,ID,标题,数字。。。描述
1 导入头文件
python
import requests
import json
import re
import os
2. 获得数据的函数
python
def getData(base_url):
header={'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'}
r = requests.get(base_url,headers=header )#获取网页的信息
_json_data = json.loads(r.text)#将数据进行格式转换,这样方便处理
'''
下面就是各个参数的获取,也可以根据自己的实际情况进行数据的获取
'''
bvid = _json_data.get('data').get('bvid')#视频的编号
title = _json_data.get('data').get('title')#视频的名称
desc = _json_data.get('data').get('desc')#视频的描述
view = _json_data.get('data').get('stat').get('view')#播放量
danmaku = _json_data.get('data').get('stat').get('danmaku')#弹幕
reply = _json_data.get('data').get('stat').get('reply')#评论
favorite = _json_data.get('data').get('stat').get('favorite')#收藏
coin = _json_data.get('data').get('stat').get('coin')#投币
share = _json_data.get('data').get('stat').get('share')#转发
like = _json_data.get('data').get('stat').get('like')#点赞
#数据都在data中存起来,方便后续的统一存储
data = (
"bvid:"+bvid+
" title:"+title+
" desc:"+desc+
" view:"+str(view)+
" danmaku:"+str(danmaku)+
" reply:"+str(reply)+
" favorite:"+str(favorite)+
" coin:"+str(coin)+
" share:"+str(share)+
" like:"+str(like)+"\n\n"
)
return data#打印数据
3 获取dvid
python
#获取bvid
video_bvid=open('bvid.txt', encoding='gbk')
video_bvid_data=[]
for line in video_bvid:
video_bvid_data.append(line.strip())
print(video_bvid_data)
4 获取数据,保存
python
#获取bvid
video_bvid=open('bvid.txt', encoding='gbk')
video_bvid_data=[]
for line in video_bvid:
video_bvid_data.append(line.strip())
print(video_bvid_data)
后续
此功能基本实现对数据的自动统计
需要提升
- 数据直接统计到excel?或者数据库
- 配套的数据分析软件
- 自动定时统计数据
- 自动获取视频ID
还是要吐槽一下b站后台,显示的不炫酷