python 处理B站视频数据,数据存本地

python 处理B站视频数据,数据存本地

  • 绪论
  • 实现
    • [1 导入头文件](#1 导入头文件)
    • [2. 获得数据的函数](#2. 获得数据的函数)
    • [3 获取dvid](#3 获取dvid)
    • [4 获取数据,保存](#4 获取数据,保存)
  • 后续

绪论

上一个已经通过B站的API,来实现了对数据的读取,这篇文章就是,将数据存储在本地的TXT文件中

上一篇文章的连接:

链接: 使用python中的requests模块来实现B站视频数据的抓取

实现

实现大概分为三个步骤

  1. 打开文件,遍历,获得视频的dvid
  2. 根据读取到的ID,调用上一篇文章,获取视频数据
  3. 获取到数据后,将数据添加到文档

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)

后续

此功能基本实现对数据的自动统计

需要提升

  1. 数据直接统计到excel?或者数据库
  2. 配套的数据分析软件
  3. 自动定时统计数据
  4. 自动获取视频ID

还是要吐槽一下b站后台,显示的不炫酷

相关推荐
W.A委员会7 小时前
JS原型链详解
开发语言·javascript·原型模式
m0_377618237 小时前
Golang怎么连接MySQL数据库_Golang MySQL连接教程【总结】
jvm·数据库·python
止语Lab7 小时前
Go并发编程实战:Channel 还是 Mutex?一个场景驱动的选择框架
开发语言·后端·golang
LN花开富贵7 小时前
【ROS】鱼香ROS2学习笔记一
linux·笔记·python·学习·嵌入式·ros·agv
weixin_586061467 小时前
C#怎么通过反射获取类属性_C#如何动态读取元数据【进阶】
jvm·数据库·python
她说彩礼65万7 小时前
C# 实现简单的日志打印
开发语言·javascript·c#
绿浪19847 小时前
c# 中结构体 的定义字符串字段(性能优化)
开发语言·c#
Jurio.7 小时前
本机开发 + 多机执行的极简远端运行工具
linux·git·python·github·远程工作
skywalk81637 小时前
pytest测试的时候这是什么意思?Migrating <class ‘kotti.resources.File‘>
前端·python
overmind8 小时前
oeasy Python 121[专业选修]列表_多维列表运算_列表相加_列表相乘
java·windows·python