【爬虫+数据清洗+可视化分析】python文本挖掘“狂飙“的哔哩哔哩评论
    		       		warning:
    		            这篇文章距离上次修改已过448天,其中的内容可能已经有所变动。
    		        
        		                
                
import requests
import json
import pandas as pd
from tqdm import tqdm
 
# 爬取哔哩哔哩评论的函数
def crawl_danmaku(video_id, page_num):
    danmaku_list = []
    for i in range(1, page_num+1):
        url = f'https://api.bilibili.com/x/v2/dm/list.so?oid={video_id}&type=1&pn={i}&ps=20'
        response = requests.get(url)
        if response.status_code == 200:
            danmaku_data = json.loads(response.text)
            for item in danmaku_data['data']['danmakus']:
                text = item['text']
                time = item['progress']
                danmaku_list.append([text, time])
    return danmaku_list
 
# 数据清洗和分析的函数
def analyze_danmaku(danmaku_list):
    df = pd.DataFrame(danmaku_list, columns=['Comment', 'Time'])
    # 将评论时间转换为分钟
    df['Minute'] = df['Time'] // 1000 // 60
    # 统计每分钟内发言的频率
    minute_count = df.groupby('Minute')['Comment'].count().sort_values(ascending=False)
    # 找出频率超过阈值的分钟,并可视化
    threshold = 100  # 设定频率阈值
    high_frequency_minutes = minute_count[minute_count > threshold].index
    minute_count[minute_count > threshold].plot(title='Comment Frequency over Time')
 
# 视频ID,页数
video_id = '请在此处输入视频ID'
page_num = 5  # 假设我们只爬取前5页的评论
danmaku_list = crawl_danmaku(video_id, page_num)
analyze_danmaku(danmaku_list)这段代码提供了一个简化的示例,展示了如何使用Python进行简单的哔哩哔哩评论文本挖掘。首先,我们定义了一个爬取评论的函数,然后定义了一个分析和清洗数据的函数。在实际应用中,你需要替换掉示例中的video\_id,并根据需要调整page\_num来获取更多的评论数据。
评论已关闭