b站数据统计视频怎么做的 3个方面统计b站数据

1.数据捕捉数据集的获取是数据分析的第一步。目前获取数据的主要途径有:现成的数据;自己写爬虫爬数据;使用现有的crawler工具对所需的内容进行爬网,将其保存到数据库中,或者在本

本文最后更新时间:  2023-04-09 16:02:13

1.数据捕捉

数据集的获取是数据分析的第一步。目前获取数据的主要途径有:现成的数据;自己写爬虫爬数据;使用现有的crawler工具对所需的内容进行爬网,将其保存到数据库中,或者在本地保存为文件。博客作者使用他们自己的爬虫代码来获取数据。(爬虫源代码可以被博主找到,可以在评论区回复。)

爬行动物的设计理念

1.首先,确定要抓取的网页的URL地址。2.通过HTTP/HTTPS协议获取相应的HTML页面。3.从HTML页面中提取有用的数据。如果是需要的数据,保存它。b .如果是页面中的其他URL,则继续第二步。

爬行动物的基本流程

通过HTTP库向目标站点发起请求意味着发送请求。请求可以包含额外的头和其他信息,并等待服务器的响应以获得响应内容。如果服务器正常响应,就会得到响应。响应的内容是要获取的页面内容,类型可能是HTML、json字符串、二进制数据(如图片、视频)等。解析得到的内容可能是HTML,可以用正则表达式和网页解析库解析,json,可以直接转换成JSON解析对象解析,也可能是二进制数据,可以保存或进一步处理。保存数据有多种方法,如保存为文本、保存到数据库或保存特定格式的文件。

反爬虫机制及对策

1反爬虫通过分析用户请求的标题信息。最多2个网站通过验证用户行为进行反抓取。还不如通过判断同一个ip是否在短时间内频繁访问相应的网站来分析。3通过动态页面增加爬取难度,达到反爬取的目的。1对策在爬虫中构造这些用户请求的头信息,从而将爬虫伪装成浏览器2、频繁使用代理服务器和切换代理服务器,一般可以克服限制。3.使用一些软件,比如selenium+phantomJS,可以克服反爬虫手段:用户代理、代理、验证码、动态数据加载、加密数据。

数据的选择和处理基于

1网页文本如HTML文档的json格式文本2。从图片中获取的二进制文件保存为图片格式3。从视频中获得的二进制文件保存为视频格式4。可以请求的任何其他内容都可以被解析1。直接处理2 json解析3。正则表达式4 BeautifulSoup 5 PyQuery 6 XPath

2.数据清理

当我们得到数据后,需要对我们抓取的数据进行清洗,为后续的数据分析做铺垫。如果清理不到位,必然会影响后续的数据分析。以下将从数据格式统一,空值进行处理。

统一格式

移除数据的空网格。用爬虫爬取数据时,使用strip()处理爬取的字符串,将中文数据转换成17000到17000等阿拉伯数字。代码如下所示

def get_int(s):if s[-1]=="万":s=s[0:-1]s=int(float(s)*10000)else:s=int(s)return s

这次旅行的结果如下

if __name__ == '__main__':s="1.2万"price = get_int(s)print(price)#12000

空值处理

使用爬网程序对数据进行爬网时,如果爬网值不存在,将会报告错误。try{}except:pass(try是抓取视频信息的代码)用于跳过不存在的视频信息数据。

try:html=requests.get(Link).textdoc=BeautifulSoup(html);List=doc.find('div',{'class':'ops'}).findAll('span')like=List[0].text.strip()#点赞like=self.getint(like)coin=List[1].text.strip()#投币coin=self.getint(coin)collection=List[2].text.strip()#收藏collection=self.getint(collection)print('点赞',like)print('投币',coin)print('收藏',collection)# #将数据 拼合成字典 data={'Title':Title,'link':Link,'Up':Up,'Play':Play,'Like':like,'Coin':coin,'Collection':collection, }# 存储到csv文件self.write_dictionary_to_csv(data,'blibli2.csv')passexcept:pass

3.数据分析和可视化

表格参数信息如图所示

分析视频辐射。

对哔哩哔哩热门播放量进行分析,将2020年热门视频播放量分为四个等级,1000万以上的播放量为一个等级,500万-1000万之间的播放量为一个等级,500万-100万之间的播放量为一个等级,100万以下的播放量为一个等级。

l1=len(data[data['Play'] >= 10000000])l2=len(data[(data['Play'] < 10000000) & (data['Play'] >=5000000)])l3=len(data[(data['Play'] < 5000000) & (data['Play'] >=1000000)])l4=len(data[data['Play'] < 1000000])

然后通过matplotlib库将数据可视化。得到下图。

plt.figure(figsize=(9,13)) #调节图形大小labels = ['大于一千万','一千万到五百万','五百万到一百万','小于一百万'] #定义标签sizes = [l1, l2, l3, l4] #每块值colors = ['green', 'yellow', 'blue', 'red'] #每块颜色定义explode = (0,0,0,0) #将某一块分割出来,值越大分割出的间隙越大# 中文乱码和坐标轴负号处理plt.rcParams['font.sans-serif'] = ['KaiTi']plt.rcParams['axes.unicode_minus'] = Falsepatches,text1,text2 = plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct = '%3.2f%%', #数值保留固定小数位 shadow = False, #无阴影设置 startangle =90, #逆时针起始角度设置 pctdistance = 0.6) #数值距圆心半径倍数距离#patches饼图的返回值,texts1饼图外label的文本,texts2饼图内部的文本# x,y轴刻度设置一致,保证饼图为圆形plt.axis('equal')plt.title("B站热门播放量分布图")plt.legend() # 右上角显示plt.show()

从图中可以看出,哔哩哔哩每周必看热门推荐视频大多在500万-100万之间。100万以下的视频很难获得每周必看的热门推荐,一年1000万播放量的视频更是少之又少。我们来看看10大好看的视频。

data.nlargest(10,columns='Play')

然后通过matplotlib库将数据可视化。得到下图。

d.plot.bar(figsize = (10,8),x='Title',y='Play',title='Play top 10')plt.xticks(rotation=60)#夹角旋转60度plt.show()

从图中可以看出,年货节最受欢迎,播放量远高于其他视频,可见2020年哔哩哔哩的年货节节目相当成功。

分析作者。

通过数据分析,可以看出作者的作品最受欢迎,从而判断2020年作者最受欢迎。划分作者,统计出现次数。

d2=data.loc[:,'Up'].value_counts()d2=d2.head(10)

然后通过matplotlib库将数据可视化。得到下图。

d2.plot.bar(figsize = (10,8),title='UP top 10')plt.show()

其中显示,哔哩哔哩每周热门次数最多的作者是凉风卡兹,一年52周推荐,共48次,他的视频几乎每周都有出现。资料显示,2020年最受欢迎的作者是凉风卡兹。

视频参数分析

分析热门视频的赞、币、收藏的平均比例。

data['点赞比例'] = data['Like'] /data['Play']data['投币比例'] = data['Coin'] /data['Play'] data['收藏比例'] = data['Collection'] /data['Play']d3=data.iloc[:,8:11]d3=d3.mean()

然后通过matplotlib库将数据可视化。得到下图。

d3.plot.bar(figsize = (10,8),title='UP top 10')plt.show()

2020年,好评比例最高,达到9%左右。它显示在哔哩哔哩平均只有十分之一的人会喜欢这个视频。平均每20个人中就有一个人会为视频付费。

分析题目

提取片头的高频,看看哪些片头比较受欢迎。首先,遍历所有标题,并将它们存储在字符串s中。

d4=data['Title']s=''for i in d4: s=s+i

然后用词云可视化。

有很多热门视频的标题都是“朱一次,半佛,”或者“英雄联盟,原神”。

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。