BiliBili系列(二):个人历史数据爬取与分析

本文档详细介绍了如何使用cookie进行网站登录,爬取个人历史数据,并对数据进行清洗和分析。首先,通过模拟登录获取cookie,然后爬取用户的历史浏览记录。接着,对数据进行清洗,去除无关信息。在数据分析部分,进行了视频标签的词云展示,展示了每日浏览次数的统计,以及每日浏览视频平均点赞数的趋势。所有代码均有提供,便于读者理解和复现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


完整代码链接:查看

一、使用cookie进行登录

我们已经进行了模拟用户登录并获取了cookie,所以在爬取的时候直接使用cookie就能实现登录了。

二、个人历史数据爬取

最后数据呈现:

在这里插入图片描述

get_personal_history 针对以下页面:
在这里插入图片描述

代码链接:查看
在这里插入图片描述

三、数据清洗

代码链接:查看

四、数据分析

import pandas as pd
from wordcloud import WordCloud
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt

data = pd.read_csv('personal_history/清理后的个人历史数据(非直播).csv', 

1、视频的标签分析

parse_dates=['时间'])
labels = data['标签'].sum().split(' ')
labels_dict = {}
for label in labels:
    labels_dict[label] = labels_dict.get(label, 0) + 1
background = np.array(Image.open('background.jpeg'))
word_cloud = WordCloud(
    font_path="simhei.ttf",
    width=1200,                   #词云图宽
    height=1000,                  #词云图高
    background_color='white',    #词云图背景颜色
    mask=background,
    max_words= 80,
    max_font_size= 70,
    random_state=1).fit_words(labels_dict)    
plt.figure(figsize=(8,8))
plt.imshow(word_cloud)
plt.axis('off')
plt.show()

在这里插入图片描述

2、每日浏览次数分析

plt.rcParams['font.sans-serif']=['SimHei']
plt.figure(figsize=(8,6))
data['时间'].apply(lambda x : x.date()).value_counts().plot()
plt.title('每日浏览次数统计')
plt.grid()
plt.show()

在这里插入图片描述
3、每日浏览视频平均点赞数分析

data['day'] = data['时间'].apply(lambda x : x.date())
plt.figure(figsize=(10,8))
plt.plot(data[['点赞数','day']].groupby('day').mean(), 'red', label='Average')
plt.title('每日浏览视频的平均点赞数')
plt.legend()
plt.grid()
plt.show()

在这里插入图片描述
(本人原创,请CSDN不要拒绝我的发文!)

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机智的小神仙儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值