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站后台,显示的不炫酷

相关推荐
拾忆,想起6 分钟前
超时重传 vs 快速重传:TCP双保险如何拯救网络丢包?
java·开发语言·网络·数据库·网络协议·tcp/ip·php
@老蝴6 分钟前
Java EE - 线程的状态
开发语言·java-ee·intellij-idea
蛋仔聊测试9 分钟前
Playwright 中route 方法模拟测试数据(Mocking)详解
前端·python·测试
budingxiaomoli13 分钟前
多线程(一)
java·开发语言·jvm·java-ee
今天没有盐21 分钟前
Pandas缺失值处理完全指南:从基础操作到高级技巧
python·pycharm·编程语言
程序员小远31 分钟前
快速定位bug,编写测试用例
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·bug
Yue丶越32 分钟前
【C语言】深入理解指针(二)
c语言·开发语言·数据结构·算法·排序算法
B站_计算机毕业设计之家37 分钟前
大数据YOLOv8无人机目标检测跟踪识别系统 深度学习 PySide界面设计 大数据 ✅
大数据·python·深度学习·信息可视化·数据挖掘·数据分析·flask
老歌老听老掉牙1 小时前
解决 PyQt5 中 sipPyTypeDict() 弃用警告的完整指南
python·qt
武陵悭臾1 小时前
Python应用开发学习: Pygame 中实现数字水平靠右对齐和垂直靠底对齐
python·学习·程序人生·游戏·个人开发·学习方法·pygame