为保证良好的阅读体验,文中所有广告位已移除~
前面几次分享讲到了对新版微博话题爬虫的优化。
本次以武汉疫情为话题,抓取武汉疫情从爆发封城到解封五个月时间线上的相关微博,去重后共计约 50w 条微博数据,10 个字段,半个 G,可直接在本号后台回复 武汉疫情 获取之。
接着对着几十万条微博随机抽样了 1w 条数据,用情感分析,得到微博正文的情感倾向(或者说极性),正向 pos,负向 neg和中立 neg,情感倾向统计值随日期的演化趋势可视化结果如下。
总体上来看,无论是正向,负向还是中立,这三者的 y 之和越大说明热度越高,武汉是从 2020 年 1 月 23 日开始封城的,而从上图来看也是这一天,微博上的热度开始从指数级的增长,而且这一时期,微博网络舆情的负向情感和正向情感能量差不多,这说明最开始疫情爆发的时间,至少一半的人态度的悲观或消极的;而到武汉 2020 年 4 月 8宣布解封后,热度逐渐消失。
微博话题爬虫本次更新了一些 bug,可去 2021 新版微博话题爬虫发布 (点击蓝字直达地址)获取 2021 新版本微博话题爬虫文件,下面说一下配置 json 文件的注意事项。
# -*- coding: utf-8 -*-
# create_time: 2021/9/24 21:26
import pandas as pd
file_path = '武汉疫情.csv'
def drop_duplicate(path, col_index = 0):
df = pd.read_csv(path)
first_column = df.columns.tolist()[col_index]
# 去除重复行数据
df.drop_duplicates(keep='first', inplace=True, subset=[first_column])
# 可能还剩下重复 header
df = df[-df[first_column].isin([first_column])]
df.to_csv(path, encoding='utf-8-sig', index=False)
drop_duplicate(file_path, col_index=0)