【爬虫、数据可视化实战】以“人口”话题为例爬取实时微博数据并进行舆情分析

前言:

近期在weibo上讨论的比较热的话题无非就是“人口”了。TaoTao也看了一些大家发的内容。但是感觉单纯的看文字内容不能很直观的反应出来大家的关切。索性就使用爬虫对数据进行爬取,同时结合着数据可视化的方式让数据自己开口说话。那么接下来就让我们使用技术进行分析吧!

流程:

这里主要可以分为三个流程:
1、数据爬取
2、数据清洗
3、数据可视化
流程如下所示:

数据爬取:

这里TaoTao采用的方式是使用python对数据进行爬取。主要就是爬取实时数据进行分析

在这里插入图片描述
详细数据如下所示:

页码:表示一共爬取了多少页的微博
微博id:表示爬取的是具体的哪一篇微博数据
发布时间:表示微博内容发布的具体时间
发布设备:表示内容发布使用的是什么设备
发布地点:表示发布的内容的地址大概在哪里
发布内容:表示发布的具体内容
用户名:表示发布的作者用户名称
用户id:表示发布者的微博id
性别:表示该用户的性别
个人简介:表示该用户的简单说明
关注人数:表示用户都关注了多少人
粉丝数:表示用户的粉丝数量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据清洗:

经过上面的步骤,我们已经获取到了大概1300多条的微博数据。这里我是18号进行采集的,现在应该不止这些了。 数据获取以后,我们观察数据其实不难发现在“发布内容”那一栏存在一些前端的内容,包括表情包呀、一些特殊的字符呀。 其实这些数据并不是我们需要关注的,所以我们需要对其进行数据清洗,将这些信息给过滤掉
在这里插入图片描述
在这里插入图片描述
这里呢,TaoTao写了一些代码进行数据的过滤,过滤以后的数据呢如下:
在这里插入图片描述
使用上述的代码进行过滤以后的数据如下:
可以看到对比上面的原始数据,数据要整洁许多

在这里插入图片描述

数据可视化:

上面的两个步骤,我们进行了数据的获取和数据的清洗。现在获得的数据是比较整洁。数据整理好了以后,就方便进行数据可视化了。那么接下来就让我们进行数据可视化操作吧。
TaoTao这里呢,主要分析的大概是这么几个数据:

1、微博发布时间可视化
2、内容发布的地区可视化
3、内容发布地区top20统计
4、发布者的性别情况
5、发布内容的情感分析
6、关键词Top10
7、发布内容的词云统计

1、“微博发布时间可视化”:
为什么要统计微博发布时间,并进行数据可视化呢?其实TaoTao是这么想的,通过观察哪一个时间段微博发布的数量比较多,从某种程度上可以反应近期大家的情绪反应。微博的发布时间可视化具体如下:
可以看到在2024.1.10-2024.1.16这个期间发布关于“人口”这个话题的人比较多。后来了解到,有关部门大概是在1.16号左右发布了相关数据,所以大家反应的比较积极。
在这里插入图片描述
2、“发布内容地区可视化”:
通过对发布内容的地区进行可视化,我们可以在宏观上大概的看出来哪个地区对这个话题比较的感兴趣,具体如下所示。
在这里插入图片描述
3、“内容发布地区top20统计”:
上面的“发布内容地区可视化”是在宏观上进行数据可视化。这里提到的“内容发布地区top20统计”就可以比骄傲直观的看到具体的一个数据分布情况。具体的数据可视化如下所示:
从图上可以看出来,北京地区好像对这个话题比较感谢兴趣,山西地区对这个就没有那么感兴趣了。具体是什么原因,可以再做详细的分析。
在这里插入图片描述

4、“发布者性别统计”:
通过对发布者的性别统计可以大体的看出来好像男性比女性要更加关注这个话题。
在这里插入图片描述
5、“发布内容的情感分析”:
TaoTao这里对大伙发布的内容进行分析,下面是详细的分析结果:
从数据层面可以看出来,大家对于“人口”这个话题好像是偏向于乐观的。
在这里插入图片描述
6、“发布内容的top10关键词”:
关键词具体如下所示:
在这里插入图片描述
7、“发布内容词云”:
同样的TaoTao也对发布内容进行统计并且制作了词云,具体如下所示:
在这里插入图片描述

其他主题大屏

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
主题大屏其实有十多种,上述TaoTao已经实现了其中的三种,其他的感兴趣的小伙伴可以自己实现。
源码获取链接:【爬虫、数据可视化实战】以“人口”话题为例爬取实时微博数据并进行舆情分析
由于笔者能力有限,在某些表述方面难免有些不准确,还请多多包涵!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/341673.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第08章_面向对象编程(高级)(static,单例设计模式,理解mian方法,代码块,final,抽象类与抽象方法,接口,内部类,枚举类,注解,包装类)

文章目录 第08章_面向对象编程(高级)本章专题与脉络1. 关键字:static1.1 类属性、类方法的设计思想1.2 static关键字1.3 静态变量1.3.1 语法格式1.3.2 静态变量的特点1.3.3 举例1.3.4 内存解析 1.4 静态方法1.4.1 语法格式1.4.2 静态方法的特点1.4.3 举例 1.5 练习 …

5大免费代理IP合集,你的代理IP该换啦!

一连代理 代理IP提供平台,代理IP覆盖HTTP/HTTPS/SOCKS5协议,涵盖直连和隧道代理。一键操作可以随机更换IP,实现高效稳定的网络代理。支持在PC、iOS和安卓等平台上使用。当前免费试用选项,让用户能够在使用之前先了解服务的性能和效…

常见PCB封装

表面贴片封装 通孔封装 公众号 | FunIO 微信搜一搜 “funio”,发现更多精彩内容。 个人博客 | blog.boringhex.top

uniapp开发小程序—scroll-view实现内容滚动时, 标题也滚动

一、需求 scroll-view实现内容滚动时&#xff0c; 标题也滚动 二、效果 三、代码实现 <template><view class"content"><view class"head">头部固定区域</view><view class"list_box"><!-- 菜单左边 -->&l…

Spring boot3.x 无法向 Nacos2.x进行服务注册的问题

一&#xff1a;问题描述 配置中心都是可用的&#xff0c;但是就是无法向nacos进行服务注册。 二&#xff1a;问题可能出现的原因有如下两种 1.Nacos2.0版本相比1.X新增了gRPC的通信方式&#xff0c;因此需要增加2个端口。除了8848还需要开放9848&#xff0c;9849端口。 官方…

基于springboot+vue的在线文档管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 背景和意…

深入理解多线程编程和 JVM 内存模型

目录 一、什么是多线程编程 二、JVM介绍 三、 JVM 内存模型 一、什么是多线程编程 多线程编程是一种编程方式&#xff0c;它允许程序在同一时间内执行多个线程或任务。线程是程序执行的最小单位&#xff0c;多线程编程可以将任务拆分为多个线程&#xff0c;每个线程独立执行…

vue全局公共样式

vue公共样式代码存放在/src/styles文件夹里 index里引入其他组件公共样式&#xff0c;index.scss文件内容如下&#xff1a; import ./sidebar.scss; import ./searchForm.scss;body {height: 100%;-moz-osx-font-smoothing: grayscale;-webkit-font-smoothing: antialiased;t…

网络通信(15)-C#TCP客户端掉线重连实例

本文上接前面的文章使用Socket在C#语言环境下完成TCP客户端的掉线重连实例。 掉线重连需要使用心跳包发送测试网络的状态,进而进入重连循环线程。 前面实例完成的功能: 客户端与服务器连接,实现实时刷新状态。 客户端接收服务器的数据。 客户端发送给服务器的数据。 客…

leetcode---Z字形变换

题目&#xff1a; 将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "PAYPALISHIRING" 行数为 3 时&#xff0c;排列如下&#xff1a;之后&#xff0c;你的输出需要从左往右逐行读取&#xff0c;产生…

helm---自动化一键部署

什么是helm?? 在没有这个helm之前&#xff0c;deployment service ingress helm的作用就是通过打包的方式&#xff0c;把deployment service ingress 这些打包在一块&#xff0c;一键式部署服务&#xff0c;类似于yum 官方提供的一个类似于安装仓库的功能&#xff0c;可以实…

2-SAT问题相关理论和算法

前言 SAT 问题简介 SAT是可满足性、适定性(Satisfiability)问题的简称。一般形式为k-适定性问题或k-可满足性问题&#xff0c;简称 k-SAT。 何为布尔可满足性问题&#xff1f;给定一条真值表达式&#xff0c;包含逻辑变量、逻辑与、逻辑或以及非运算符&#xff0c;如&#x…

Linux配置yum源以及基本yum指令

文章目录 一、yum介绍二、什么是软件包三、配置yum源四、一键配置yum源【三步走】五、yum指令搜索软件安装软件卸载软件 六、其他yum指令更新内核更新软件更新指定软件显示所有可更新的软件清单卸载指定包并自动移除依赖包删除软件包&#xff0c;以及软件包数据和配置文件 一、…

2024年第3周农产品价格监测报告

一、摘要 农产品价格监测主要涉及对畜禽类产品、水产品、蔬菜类产品、水果类产品的价格&#xff0c;以周为单位&#xff0c;进行变化情况的数据监测。其中&#xff0c;蔬菜类产品共8种&#xff0c;分别为菜花、韭菜、豆角、西红柿、胡萝卜、土豆、大葱、葱头。 本周重点监测的…

【深度学习】BasicSR训练过程记录,如何使用BasicSR训练GAN

文章目录 两种灵活的使用场景项目结构概览简化的使用方式 项目结构解读1. 代码的入口和训练的准备工作2. data和model的创建2.1 dataloader创建2.2 model的创建 3. 训练过程 动态实例化的历史演进1. If-else判断2. 动态实例化3. REGISTER注册机制 REGISTER注册机制的实现1. DAT…

第1章-计算机网络基础

目录 1. 计算机网络与计算机 2. 计算机网络的定义和基本功能 2.1. 定义&#xff1a;计算机网络是一组自治计算机互连的集合 2.2. 基本功能 2.3. 计算机网络的演进 2.4. 广域网(Wide Area Network&#xff0c;WAN) 2.5. 网络的拓扑结构 2.6. 数据交换方式 2.7. 衡量计算…

ICC2:如何优化网表中的assign语法

更多学习内容请关注「拾陆楼」知识星球 拾陆楼知识星球入口 问题来自星球提问: ICC2中有两种解决方法: 1) set_app_options -name opt.port.eliminate_verilog_assign -value true 工具优化时自己插buffer解决 2) change_name -hier -rule verilog 需要注意的是: 第一个opti…

自己本机Video retalking制作数字人

首先需要注意的是&#xff0c;这个要求你的笔记本显存和内存都比较大。我的电脑内存是64G&#xff0c;显卡是8G&#xff0c;操作系统是Windows 11&#xff0c;勉强能够运行出来&#xff0c;但是效果不是很好。 效果如下&#xff0c;无法上传视频&#xff0c;只能通过图片展示出…

数字频率合成器dds的量化性能分析matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 DDS的基本原理 4.2 DDS的量化性能分析 5.完整工程文件 1.课题概述 数字频率合成器dds的量化性能分析matlab仿真&#xff0c;分别定义累加器位宽&#xff0c;截位位宽&#xff0c;模拟DAC位宽等&…

git merge和git rebase区别

具体详情 具体常见如下&#xff0c;假设有master和change分支&#xff0c;从同一个节点分裂&#xff0c;随后各自进行了两次提交commit以及修改。随后即为change想合并到master分支中&#xff0c;但是直接git commit和git push是不成功的&#xff0c;因为分支冲突了【master以…