大家好,我是java1234_小锋老师,最近写了一套【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts)视频教程,持续更新中,计划月底更新完,感谢支持。今天讲解架构搭建

视频在线地址:

2026版【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts+爬虫) 视频教程 (火爆连载更新中..)_哔哩哔哩_bilibili

课程简介:


本课程采用主流的Python技术栈实现,Mysql8数据库,Flask后端,Pandas数据分析,前端可视化图表采用echarts,以及requests库,snowNLP进行情感分析,词频统计,包括大量的数据统计及分析技巧。

实现了,用户登录,注册,爬取微博帖子和评论信息,进行了热词统计以及舆情分析,以及基于echarts实现了数据可视化,包括微博文章分析,微博IP分析,微博评论分析,微博舆情分析。最后也基于wordcloud库实现了词云图,包括微博内容词云图,微博评论词云图,微博评论用户词云图等功能。

微博类别信息爬取

再爬取微博之前,我们先把所有微博类别爬取,再遍历每个类别,爬取微博内容。

访问微博首页:Sina Visitor System 打开谷歌开发者工具或者F12直接快捷打开

点热门推荐,我们可以直观的看到所有的微博类别。

通过分析,我们找到微博类别的请求接口:https://weibo.com/ajax/feed/allGroups

继续分析:接口返回数据的的groups下的第3和第4个下标值正好是所有的微博数据。

实现代码:

"""https://weibo.com/ajax/feed/allGroups微博类别 爬虫代码 以及存到csv文件中
"""
import csv
import os.pathimport numpy as np
import requestsdef init_csv():"""初始化操作,判断csv文件是否存在,不能存在就创建一个:return:"""if not os.path.exists('arcType_data.csv'):  # 不存在就创建一个with open('arcType_data.csv', 'w', encoding='utf8',newline='') as file:  # newline=''参数,参数用于控制换行符的行为 这表示禁用自动换行符转换,即写入文件时使用原始的换行符(例如\r\n或\n)。这对于处理CSV文件时避免不必要的空行特别有用。writer = csv.writer(file)writer.writerow(['类别标题(title)','分组id(gid)','分类id(containerid)'])def getJsonHtml(url, params):"""请求获取Html内容 json数据:param url::param params::return:"""headers = {'user-agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",'cookie': "UOR=www.baidu.com,s.weibo.com,www.baidu.com; SINAGLOBAL=147269028916.96313.1738405722917; SCF=Aq_smbP0Qulm3aIQiWHRj0MVjLlLvMzPjh08C1UOgzZGKmgtkj3RlIKkPpPunA-Yp4Vs3PxaE2Mnw4EfY-zo22k.; ULV=1746148684228:3:1:1:750370364305.8235.1746148684180:1743395262982; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9WWdhwhTipHbo3gGv6wzaRcu5JpX5KMhUgL.Foef1hMR1KqEeoz2dJLoI08ZqP9yi--NiKLsi-2fi--Ri-8siKnci--fiKnRiKnci--Xi-iWi-8Fi--Ni-i2iK.p; XSRF-TOKEN=jkBbdfx8ioL49wGmuLw8ZTv2; ALF=1754794282; SUB=_2A25FdAx5DeRhGeVL41UZ-SjOyT6IHXVmCAGxrDV8PUJbkNAbLWfskW1NTBTNHVQQjZ8TTBpAQ68hUItVd4KUD_CC; WBPSESS=_IA_wwSTTkx7cB4s0X9svEMSaQHgjmYl9nytbvfrAcd7Iosa-3IBWF4ACq_6aV-rM8H92uAEfJAtiOQKdY2Gha_-gW_mgEBLLJLDTNTrl4COyaKsVhMD_fKgQcz8yS4cNe68un-DHcy9a6K983O71w=="}response = requests.get(url, headers=headers, params=params)if response.status_code == 200:return response.json()else:return Nonedef writeToCsv(row):"""写入csv操作 a操作 尾部追加 写入操作:param row::return:"""with open('arcType_data.csv', 'a', encoding='utf8',newline='') as file:writer = csv.writer(file)writer.writerow(row)def parseJson(json):"""解析Json数据:param json::return:"""arcTypeList = np.append(json['groups'][3]['group'], json['groups'][4]['group'])print(arcTypeList)for arcType in arcTypeList:arcType_title = arcType['title']gid = arcType['gid']containerid = arcType['containerid']writeToCsv([arcType_title, gid, containerid])def start():init_csv()url = 'https://weibo.com/ajax/feed/allGroups'jsonHtml = getJsonHtml(url, {})print(jsonHtml)parseJson(jsonHtml)if __name__ == '__main__':start()

运行后,生成srcType_data.csv文件,里面数据也无误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/89495.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/89495.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/89495.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GD32/STM32嵌入CMSIS-DSP的库(基于Keil)

当你要用到三角函数、开方、矩阵运算等复杂的数学运算时,可以选择用C库的math.h里面的函数,如果要求速度快的话就得用CMSIS-DSP库里面的函数了,因为CMSIS-DSP库充分运用了CM4内核的浮点运算单元(若有)和DSP相关的指令&…

页面登录阻止浏览器提醒是否保存密码

一、原因 使用input的type"password"类型,浏览器会提醒是否记住密码。 二、解决 取消type"password" 三、实现输入密码*代替 通过input输入框,监听输入值,进行替换成*符号,避免使用input的type"password…

【iOS】dyld加载流程——应用程序的加载

目录 前言 编译过程与动静态库 编译过程 动静态库 dyld 📌 什么是 dyld? dyld_shared_cache: dyld加载流程 _dyld_start dyldbootstrap::start dyld::main() 配置环境变量 共享缓存 主程序的初始化 插入动态库 link主程序 link动态库 弱…

从零开始,手把手教你本地部署Stable Diffusion AI绘画(Win最新版)

本号之前有发过一篇win平台的教程,由于是去年10月发布的,而Al绘画技术发展很快,那篇教程已经有些不适用了,有些同学执行到第二步就出错了。 应广大同学的期望,我更新一版新版详细教程。 一、前言 1.为什么要本地部署…

day21 力扣669. 修剪二叉搜索树 力扣108.将有序数组转换为二叉搜索树 力扣538.把二叉搜索树转换为累加树

修剪二叉搜索树 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关…

《设计模式之禅》笔记摘录 - 7.中介者模式

中介者模式的定义中介者模式的定义为:Define an object that encapsulates how a set of objects interact.Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interaction independently…

Flutter:上传图片,选择相机或相册:wechat_assets_picker

图片选择功能:可选单张,或多张。 1、showModalBottomSheet(选择相册/相机) 2、WechatImagePicker(选取图片) 3、CompressMediaFile(图片压缩)1、ActionSheetUtilimport package:duca…

pytest--0

1 pytest 使用方式 pytest测试框架-- 基本功能使用详解 2 pytest-mock常用方式 pytest–1–pytest-mock常用的方法 3

multiprocessing.Pool 中的 pickle 详解

前言: 在 Python 的 multiprocessing.Pool 中,任务和数据需要通过序列化(pickle)传递给子进程。pickle 是 Python 的内置序列化模块,用于将 Python 对象转换为字节流,以便在进程间通信时传递。然而&#xf…

Java集合框架体系详解:List/Set/Map接口对比与核心实现原理

一、集合框架核心接口对比 1.1 List/Set/Map接口特性接口类型特性描述典型实现List有序可重复,支持索引访问ArrayList/LinkedListSet无序不可重复,基于哈希表或树实现HashSet/TreeSetMap键值对存储,键唯一值可重复HashMap/TreeMap核心差异&am…

LeafletJS 进阶:GeoJSON 与动态数据可视化

引言 LeafletJS 作为一个轻量、灵活的 JavaScript 地图库,以其对 GeoJSON 数据格式的强大支持而闻名。GeoJSON 是一种基于 JSON 的地理数据格式,能够表示点(Point)、线(LineString)、多边形(Po…

【STM32实践篇】:F407 时钟系统

文章目录1. 时钟与启动2. CubeMX 时钟树2.1 时钟源2.2 PLL 锁相环2.3 时钟分发与选择2.4 频率限制1. 时钟与启动 复位默认时钟:系统复位后,CPU 时钟默认由 16MHz 内部 RC 振荡器(HSI)提供,该 RC 振荡器经工厂校准&…

纯前端html实现图片坐标与尺寸(XY坐标及宽高)获取

纯前端html实现图片坐标与尺寸&#xff08;XY坐标及宽高&#xff09;获取。用于证书图片或pdf打印的坐标测定。 <!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8"> <title>纯html前端实现图片坐标与尺寸&am…

飞睿UWB超宽带定位测距技术,数字钥匙重塑智能生活,高精度厘米级定位无感解锁

最近&#xff0c;数字钥匙领域动作频频&#xff0c;科技巨头与车企正掀起一波创新浪潮。小米15S Pro搭载恩智浦UWB芯片&#xff0c;用户靠近闸机即可无感通行深圳云巴一号线&#xff0c;轻触小米YU7车门自动解锁&#xff0c;实现手机-汽车-公共交通的无缝数字钥匙生态。在智能家…

基于springboot+vue+mysql平台的医疗病历交互系统(源码+论文)

一、开发环境 相关技术介绍 B/S模式分析 C/S模式&#xff1a;主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据组件交互。服务器程序负责系统资源&#xff0c;如管理信息数据库的有效管理。中间件负责连…

arm架构,arm内核,处理器之间的关系

一、情景分析 我们经常说&#xff0c;stm32f103是采用cotex-M3内核&#xff0c;基于armv7架构设计的。 那么&#xff0c;stm32f103、cotex-M3、armv7之间有什么关系呢&#xff1f; 二、层次分析 1. 架构&#xff08;Architecture&#xff09; 定义&#xff1a;架构是处理器…

基于PHP的招投标系统_603gk

目录具体实现截图课程项目技术路线开发技术介绍PHP核心代码部分展示系统测试详细视频演示/源码获取具体实现截图 课程项目技术路线 招投标系统后端采用 PHP 语言搭配Thinkphp或者 Laravel 框架&#xff0c;PHP 语法简洁且功能强大&#xff0c;Laravel 或者Thinkphp框架能优化代…

深入解析 JavaScript 中的 `$.ajax()`:专业指南与实战示例

文章目录一、为什么需要 $.ajax()&#xff1f;二、核心语法解析三、关键参数深度剖析四、实战示例&#xff1a;从基础到进阶五、错误处理最佳实践六、性能与安全优化七、现代替代方案对比八、总结作为网站编辑&#xff0c;我将带您深入剖析 jQuery 的 $.ajax() 方法。本文不仅涵…

Flutter 前端开发中的常见问题全面解析

Flutter 开发中的常见问题全面解析一篇给 Flutter 开发者「灵儿」里里外外都能看的问题项。从基础开发到打包上线&#xff0c;每一步都充满坑&#xff0c;我们详细列出「环环盗光」的那些场景和解决思路&#xff01;【基础系统】开发环境问题 1. flutter doctor 报错 常见错误:…

STM32 单片机的停车场管理系统设计与实现

基于 STM32 的停车场管理系统设计与实现摘要随着城市汽车保有量的快速增长&#xff0c;停车场管理的效率与智能化水平愈发重要。本文设计并实现了一套基于 STM32 单片机的停车场管理系统&#xff0c;整合车辆检测、车位引导、计费管理及信息交互等功能。系统以 STM32 为控制核心…