微博态势感知系统开发——django实现

本文详细介绍并实践了微博态势感知系统开发的过程,其基于django实现。系统框架如下所示:本文主要使用以下技术:1.web前端开发知识——html、css、javascript2.web前端框架开发——bootstrap、jquery3.异步传输技术——ajax4.基于python的web开发——django5.数据库操作——基于ORM操作mysql6.可视化展示技术——pyecharts开发1.系统设计1.1需求分析本系统设计主要用来实现微博用户信息的自动化
摘要由CSDN通过智能技术生成

本文详细介绍并实践了微博态势感知系统开发的过程,其基于django实现。

系统框架如下所示:

本文主要使用以下技术:

1.web前端开发知识——html、css、javascript

2.web前端框架开发——bootstrap、jquery

3.异步传输技术——ajax

4.基于python的web开发——django

5.数据库操作——基于ORM操作mysql

6.可视化展示技术——pyecharts开发

1.系统设计

1.1需求分析

本系统设计主要用来实现微博用户信息的自动化获取和微博异常用户的自动化检测。因此,在本系统中应当实现以下功能:

1.微博用户数据自动化爬取。通过界面输入微博用户ID,利用参数传递到后端,后端调用爬虫程序,爬取用户的基本信息和行为信息,实现微博数据的自动化爬取并存储。

2.微博用户基本信息的查询。通过界面输入微博用户ID,查询数据库中已有信息,如果数据库中不存在信息,则爬取该用户信息,并将用户基本信息展示。

3.微博用户行为信息可视化展示。提供接口访问,将微博用户的行为信息进行一定处理,生成可视化图表,并在前端可视化展示。

4.微博异常用户的自动化检测。通过接口调用上传待检测用户ID,后台获取ID,并在数据库提取相关数据,加载模型进行识别,并在前端可视化展示。

5.系统用户管理。实现用户的登录注册功能,并将用户数据保存在数据库中,并利用session机制控制用户权限访问,当用户点击退出,关闭session,实现用户管理。

1.2架构设计

本系统基于web开发,采用B/S架构,设置客户端、服务器、数据库三层结构[11]。客户端基于浏览器访问,通过前端界面实现上传数据、下载数据、展示数据等数据交互功能。服务器基于python框架django实现,获取前端传输的数据,并调用python程序进行处理,并实现数据在数据库-服务器-客户端之间的流动。数据库使用msql数据库,轻量高效,将服务端传输的数据存储,或者实现数据库数据向前端的传递。

前端采用Bootstrap框架实现。Bootstrap框架基于html、css、javascript开发,其具有移动设备优先、响应式设计的特点,可以在移动端实现有效展示,实现前端的多平台兼容。

后端采用django框架实现。Django框架是python web开发的两大框架之一。不同于flask,django框架格式规范,基于MVC模型,使用了模型、视图、控制器三级模式,简化了程序开发流程,并提供了规范的开发模板,使用较少代码即可实现web开发。

数据库使用mysql数据库。Mysql数据库是一款开源的关系型数据库,其具有轻量级的特点,适合小型web网站开发使用。使用简单sql语句即可实现数据的查询、存储、更新、删除等功能。

1.3数据库设计

本系统数据库主要分为三个部分。

第一是系统用户管理部分,利用数据库存储用户的账号和密码,并进行注册、登录以及登出验证。为简化起见,系统用户表仅包含用户名、用户密码两列。数据表名为login_user,如下所示

第二是爬取队列缓存部分,在用户数据爬取过程中,上传的用户ID缓存在数据库,使用多线程技术从数据库并行获取ID,进行爬取。数据表名为testmodel_cacheuser,如下所示:

第三是用户信息存储部分,设计用户信息数据表,实现用户数据的存储、查询、更新等功能。一共分为两个用户信息表,一个用户信息表用来存储用户基本信息,数据表名为testmodel_userdata;

另一个用户信息表用来存储用户发布的博文信息,数据表名为testmodel_postdata;如下所示:

整体数据库结构如下

1.4框架设计

一、模块整体框架

本系统主要由注册登录注销模块、用户信息爬取模块、用户信息查询模块、用户行为信息可视化模块、异常用户检测模块等构成。共分为三个层次,分别时视图层、控制层和模型层。视图层用来展示信息;控制层用户处理交互信息;模型层用来存储信息。系统框架如下图所示:

二、注册登录注销模块

本模块主要实现用户的注册、登录、注销功能。

注册功能通过表单上传用户账号、密码、重复密码信息,后端首先比对两次密码是否一致,如果不一致,返回前端提示信息并跳出;而后比对现有数据库中是否存在当前用户账号,如果存在,返回前端提示信息并跳出。如果不存在,在数据库中插入用户账户密码。

登录功能通过表单上传用户账号、密码。后端通过查询数据库当前账号是否存在,如果不存在,返回前端提示信息并跳出;而后比对数据库中该账号的密码与上传的密码是否一致,如果不一致,返回前端提示信息并跳出。如果一致则跳转至主页。

注销功能依赖Session实现。Seseion保持功能通过django的request全局变量实现,当成功登录时,设置request字典中键is_login为True,键username为登录的用户名。当访问网站内任一页面时,如果is_login不为True,跳转至登录页;为Ture则正常执行。当登出时,删除已经设置的两个键,并跳转至登录页。

三、用户信息爬取模块

用户信息爬

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值