微博评论爬虫 | 情感分析 | 词云图展示

1. 数据获取部分

实验环境

Requests、json、io、sys、re、time、csv

数据获取目标

在这里插入图片描述

抓包

PC端和移动端分析

PC端抓包后,发现参数过多。
从移动端某博抓取url,发现加密参数较少方便入手
爬像新浪某博这样的大网站,不用想就知道不登录肯定是爬不了多少数据的(事实就是不登录的话只能爬第一页的评论数据)。
所以我们先抓取到cookie进行保存:
在这里插入图片描述

抓取到的目标链接

这里只提取了我想要爬取的四个目标url:

https://m.weibo.cn/1653196740/4595525837399095
https://m.weibo.cn/2027363802/4319350444018706
https://m.weibo.cn/2602644737/4638484377896654
https://m.weibo.cn/2337348632/4638209580207301

界面如下:
在这里插入图片描述

分析评论信息存储位置

首先自动加载评论数据时抓取ajax请求,发现response有unicode编码的数据,截图如下:
在这里插入图片描述

通过preview视图中发现,这些编码正式我们想要的评论数据,截图如下:
在这里插入图片描述
3. 那么如果获取自动加载的下一页的评论信息呢?抓取下一页的评论数据url分析
第一页的url为:
在这里插入图片描述

第二页的url为:
在这里插入图片描述

结果,请求中多了一个max_id和max_id_type

继续分析两者request和response发现:
第一页返回的json信息中包含的max_id和max_id_type正是下一页所需要的url参数。
在这里插入图片描述
接下来就可以开始我们的爬虫了。

爬虫结果

爬取结果如下,只爬了1W条左右:
在这里插入图片描述

2. 情感分析部分

数据准备

  1. BosonNLP_sentiment_score.txt 词语评分表
  2. degree.csv 程度副词表
  3. not.csv 否定词表
  4. stopword.txt 停用词表
    篇幅限制,读者可以自行百度这些表的含义
    在这里插入图片描述

主要代码

在这里插入图片描述
利用pandas,jieba来计算每条评论信息的分数,主要代码如上

效果

代码会生成两个文档:
在这里插入图片描述
一个是pos积极评论文档,一个是neg消极评论文档
neg文档如下:
(可以通过评论ID,找到原评论)
有部分误差,后期还可以通过调整评分阈值进行优化
在这里插入图片描述

pos文档如下:
在这里插入图片描述
这个基本是没什么误差的

3. 词云图部分

主要代码

在这里插入图片描述

效果

在这里插入图片描述

  • 8
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

代码魔法师!

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

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

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

打赏作者

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

抵扣说明:

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

余额充值