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

相关推荐
小成202303202651 分钟前
从C到C++
开发语言·c++
折哥的程序人生 · 物流技术专研2 分钟前
《Java 100 天进阶之路》第39篇:Java泛型方法的定义和使用
java·开发语言·后端·面试·求职招聘
天天进步20153 分钟前
Tunnelto 源码解析 #1:从 tunnelto --port 8000 看内网穿透的完整链路
开发语言
啄缘之间10 分钟前
8.【学习】工业级详细接口约束&覆盖率
开发语言·笔记·学习·uvm·sv
Chase_______12 分钟前
【Java基础核心知识点全解·09】Java 内存布局与垃圾回收详解:栈、堆、栈帧、GC Roots 与对象回收
java·开发语言
川石课堂软件测试16 分钟前
使用mock进行接口测试教程
数据库·python·功能测试·测试工具·华为·单元测试·appium
江南十四行29 分钟前
并发编程(四)
开发语言·python
葱卤山猪32 分钟前
C++17 联合体
开发语言·c++
折哥的程序人生 · 物流技术专研32 分钟前
Java 23 种设计模式:从踩坑到精通 | 抽象工厂 —— 支付/收款如何成套创建?跨平台 UI 如何一键换肤?
java·开发语言·后端·设计模式
方也_arkling35 分钟前
【Java-Day11】抽象类和抽象方法
java·开发语言