当前位置: 首页 > news >正文

【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 访问鉴权功能实现

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

视频在线地址:

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

课程简介:


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

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

用户安全退出功能实现

用户登录成功后,进入主页,可以点击安全退出,清掉session,回到登录页面。我们来实现下这个功能。

<a href="/user/logout">安全退出</a>

user / user.py 实现下logout()方法

@ub.route('/logout')
def logout():"""安全退出 注销:return:"""session.clear()return redirect('/user/login')

访问鉴权功能实现

前面我们实现的系统有个问题,比如用户没有登录,也可以直接访问后端主页。所以要修复这个问题,必须实现访问鉴权。

Flask提供了before_request装饰器功能,可以实现每次请求访问之前,都会进入before_request注解方法,通过这个方法实现鉴权逻辑。来实现访问鉴权。我们可以放行一些白名单地址,然后再判断用户session,如果没有登录的,直接重定向到登录页面。否则就放行。

app.py里实现before_request方法:

@app.before_request
def before_request():"""鉴权:return:"""pat = re.compile(r'^/static')if re.search(pat, request.path):returnif request.path == '/user/login':returnif request.path == '/user/register':returnuser = session.get('user')if user:return Nonereturn redirect('/user/login')

404页面功能实现

有时候,我们访问系统暂未开发的Url地址页面,系统默认报错如下,不太友好。

我们可以自定义404页面,然后实现catch_all方法,路由匹配所有路径,只要是前面路由没匹配的,剩下的都是404页面。

@app.route('/<path:path>')
def catch_all(path):"""404页面:param path: :return: """return render_template('/404.html')

404.html

<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>404页面</title>
​<link rel="stylesheet" href="//static/css/backend-plugin.min.css"><link rel="stylesheet" href="//static/css/backend.css">
</head>
<body class=" ">
​
<div class="wrapper"><div class="container"><div class="row no-gutters height-self-center"><div class="col-sm-12 text-center align-self-center"><div class="iq-error position-relative"><img src="//static/picture/Datum_404.png" class="img-fluid iq-error-img iq-error-img-dark mx-auto"alt=""><img src="//static/picture/Datum_404.png" class="img-fluid iq-error-img mb-0" alt=""><h2 class="mb-0">噢!该页面没有找到.</h2><p>本次请求没有任何反应.</p><a class="btn btn-primary d-inline-flex align-items-center mt-3" href="/user/login"><iclass="ri-home-4-line mr-2"></i>回到登录页</a></div></div></div></div>
</div>
​
<script src="//static/js/backend-bundle.min.js"></script>
<script src="//static/js/customizer.js"></script>
<script src="//static/js/sidebar.js"></script>
<script src="//static/js/flex-tree.min.js"></script>
<script src="//static/js/tree.js"></script>
<script src="//static/js/table-treeview.js"></script>
<script src="//static/js/sweetalert.js"></script>
<script src="//static/js/vector-map-custom.js"></script>
<script src="//static/js/chart-custom.js"></script>
<script src="//static/js/01.js"></script>
<script src="//static/js/02.js"></script>
<script src="//static/js/slider.js"></script>
<script src="//static/js/index.js" type="module"></script>
<script src="//static/js/app.js"></script>
</body>
</html>

http://www.dtcms.com/a/293074.html

相关文章:

  • MMDeploy模型转换与TensorRT推理遇到问题及解决方案
  • GRU模型
  • Trae安装指定版本的插件
  • Clickhouse源码分析-副本数据同步
  • 网络编程---TCP协议
  • Spring AI 系列之十九 - Ollama集成Deepseek
  • 配置https ssl证书生成
  • 数字护网:一次深刻的企业安全体系灵魂演练
  • 接口测试用例选择及效能优化策略
  • vcs门级仿真(后仿真)指南
  • 如何处理各行业的DDOS问题?
  • VUE2 学习笔记3 v-on、事件修饰符、键盘事件
  • JAVA后端面试笔记
  • 前端性能优化:从“龟速“到“闪电“的终极加速指南
  • c++day05(ASCII)
  • Git GitHub精通:前端协作开发的“瑞士军刀“!
  • 字符串相关函数
  • visual studio 性能调试
  • 大数据之Hive:Hive中week相关的几个函数
  • 【Java】SVN 版本控制软件的快速安装(可视化)
  • Qt中的栅格布局的核心机制与栅格布局中的元素隐藏后重新排列布局解决方案解析
  • 基于CH32V203F8P6 interface_debug_print支持浮点格式输出
  • 模型优化-------模型压缩
  • Python之格式化Conda中生成的requirements.txt
  • timesFM安装记录
  • JavaWeb学习打卡10(HttpServletRequest详解应用、获取参数,请求转发实例)
  • PyTorch常用工具
  • 我的第一个开源项目 -- 实时语音识别工具
  • C++中的list(2)简单复现list中的关键逻辑
  • 水电站自动化升级:Modbus TCP与DeviceNet的跨协议协同应用