在短视频运营中,数据分析这一环节是非常重要的,要去观察数据背后的现象,这样有利于我们对视频内容的调整,优化有一个指导性的作用。
本文爬取b站主播OldBa1的投稿视频数据,包括视频名称、简介、弹幕数、点赞数、收藏数、转发数、投币数等,并据此计算相应比率,根据视频主题和时间进行分类可视化,分析其转型可能性及方向。
数据获取与简介
本文数据是从b站爬取,本人爬虫经验不足,爬虫的部分,参考了爬取b站视频的名称、地址、简介、观看次数、弹幕数量及发布时间并保存为csv文件的方法并稍作修改。
代码如下,具体不再介绍。
import requests
from bs4 import BeautifulSoup
import pandas as pd
import re
import time
from urllib import request
import json
import importlib,sys
importlib.reload(sys)
alphabet = 'fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF'
def dec(x):#BV号转换成AV号
r = 0
for i, v in enumerate([11, 10, 3, 8, 4, 6]):
r += alphabet.find(x[v]) * 58**i
return (r - 0x2_0840_07c0) ^ 0x0a93_b324
def crawl():#获取每个视频的html文本
htmls = [] # 存放每个页面的HTML
# 用for循环爬取每一个页面并获得其HTML
for i in range(50):
# 用f+字符串来表示每一个页面的网址
url = f"https://search.bilibili.com/all?keyword=oldba1&from_source=nav_search&spm_id_from=333.851.b_696e7465726e6174696f6e616c486561646572.11&page={str(int(i+1))}"
r = requests.get(url) # 返回Response对象
if r.status_code != 200: # 状态码检测
raise Exception("error")
htmls.append(r.text) # r.text是字符串类型
return htmls
def parse(htmls): #对html文本进行解析
videos = [] # 存放每个视频解析出来的HTML
print('解析页面中……')
for html in htmls:
soup = BeautifulSoup