python 获取csv的列数_《极限挑战》弹幕及评论情感分析(Python)

本文使用Python爬取并分析了《极限挑战》视频的弹幕和评论数据,通过词云和情感分析揭示了用户行为模式。数据显示大部分用户评论1-3次,评论高峰期在中午12点和晚上9点,4月23日因罗志祥事件评论异常增多。情感分析结果显示弹幕和评论主要为中性和积极情绪。
摘要由CSDN通过智能技术生成

642f971c270cc7a81d6dfad789ec9e48.png

一、数据说明

本次实验用到的数据是前三季《极限挑战》第一期视频的评论数据和弹幕数据。

二、数据来源

本次实验所有数据均从bilibili爬取和处理得到。

(1)视频来源

评论和弹幕数据来源于以下三个视频(极限挑战1、2、3季的第一期)

https://www.bilibili.com/video/av98708690

https://www.bilibili.com/video/av98685840

https://www.bilibili.com/video/av497583982

(2)获取方法

B站视频的弹幕和评论有两个api接口,只需要更改两个参数即可访问弹幕和评论数据

评论数据
urlpl1='https://api.bilibili.com/x/v2/reply?type=1&oid=98708690&pn={}&sort=0'
urlpl2='https://api.bilibili.com/x/v2/reply?type=1&oid=98685840&pn={}&sort=0'
urlpl3='https://api.bilibili.com/x/v2/reply?type=1&oid=497583982&pn={}&sort=0'
弹幕数据
url1='https://comment.bilibili.com/168497302.xml'
url2='https://comment.bilibili.com/168459529.xml'
url3='https://comment.bilibili.com/170198331.xml'

评论数据的接口中oid参数即为视频的av号,但是现在B站已经开始使用BV号,所以寻找某一视频的av号需要在网页源代码里面搜索aid。而另一个参数pn为评论数据的页数,需要注意的是爬取的数据是按照时间顺序的。

1aa1f89fed408905256bd480015fb798.png

弹幕数据接口中的参数为cid,同样是在网页源代码里面搜索cid,如下图:

22797a949dc655c170c199e59dfc7130.png

(3) 爬取流程

  • 使用的python库
import requests
import json
import pandas as pd
from lxml import etree
from bs4 import BeautifulSoup
import time
  • 爬取评论及储存

以爬取第三季第一期评论数据为例(请求头自己添加即可,页数39是为了方便,自己查看页数后直接设定的)

59e777b028296a2110f5f71675cb2365.png
comment
  • 爬取弹幕及储存
u

上述操作将弹幕和评论数据爬取并且保存了下来。由于本文不是侧重于爬虫的文章,所以只粘贴了代码,不深入讲解爬取原理了,小伙伴们有兴趣可以自己爬取试试。

三、数据分析

(1)导入python库

# 数据分析
import pandas as pd
import numpy as np
import time

# 词云
from PIL import Image
from wordcloud import WordCloud, ImageColorGenerator
import jieba

# 情感分析
from snownlp import SnowNLP

# 可视化
from matplotlib import pyplot as plt
import matplotlib
import matplotlib.gridspec as gridspec
%matplotlib inline

matplotlib.rcParams["font.sans-serif"] = ["SimHei"]
matplotlib.rcParams['axes.unicode_minus'] = False
  • 数据分析最主要的库pandas、nump
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值