版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向新浪微博的信息获取与分析平台
摘要
新浪微博作为新时代的社交平台产物,日益在人们生活中扮演重要角色,甚至可以
说是生活的灵动反映。其每日产生的巨大数据量理所当然的极具研究价值,同时随着大
数据的应用日渐普及,如何合理的获取用户所需要的数据,变成了一个新挑战。本文实
现了一个微博数据获取与分析平台网站,该网站利用selenium工具构造了经济化的微
博爬虫,即通过selenium模拟登录遍历翻页的方式获取网页html信息,用
beautifulsoup将关键信息从html中解析出来,尹进一步统计分析,实现了用户定制任
务的合理数据量的获取与文本分析,以及用户数据统计分析,并提供了可视化图表和数
据下载以便用户便捷使用。本系统可以获取的数据量测试的时候相对多,但是也存在部
分限制,限制在于微博爬取的效率与经济消耗的平衡,本文也做了一定说明,
论文在结论部分对选题意义以及选题背景进行了措述,同时介绍了本数据获取与分析平
台所常用的框架与函数库。正文为本系统具体的设计与实现,包括概要设计、详细设计、
系统实现、系统测试,其中,关于爬虫的设计与文本分析的设计部分单独作为一章来呈
现。
关键字:新浪微博,爬虫,模拟登录,数据统计分析
Abstract
Asaemergingsocialmediaplatforms,Sinaweiboincreasinglyplayanimportant
roleinourdailylife,evencanbesaidtobethesilhouetteofoureverydaylife.The
hugeamountofdataproducedbytheuserofSinaweiboreallymeansalol,althes
ametime,withtheincreasingpromotionofbigdata,howtoreasonableaccesstothe
data,hasbecomeanewchallenge.Thispaperdescribesthedesignandimplemcntatio
nofadataacquisitionandanalysiswebsite,whichusesseleniumtoolstobuildaeco
nomicalWeibocrawler.Withthehelpofselenium,wecaneasilysimulateuserlogin
behaviourandtraversethehtmlpageweneed.Meanwhile,weneedtoextractandan
alysetheinformationweneedfromthewebpage,whichrealizethedataaquicsition
andtextanaylsisoftheuser'scustomizedtasks.What,smore,italsoprovideStatistic
analysisfortaskdata,andprovideavisualchartanddatadownloadfunctionwhichg
ivesusersmoreconvenient.ThiscrawlersystemcancrawlingquitelittleWeibodata
butstillhassomelimitations.Thelimitationliesinthebalancebetweentheefficiency
ofmicroblogcrawlingandeconomicconsumption,whichisalsodiscussedinthispa
per.
Intheintroductionpart,thispapermainlyintroducethebackgroundandsignifica
neeofthistopic,andalsointroducedthecommonlyusedframeworkandfunctionlibr
aryindataacquisitionandanalysisoThesecondpartisthebody,whichdescribethe
system'sdesignandimplementationindetail,includinggeneraldesign,detaileddesign,
systemimplementation,systemtesting.Besides,thedesignofWeibocrawlerandtext
analysiswillbedevotedaseparatechapter.
Keywords:Sinamicroblog,Crawler,loginsimulation,Datasratisticsand
analysis
目录
1结论1
1.1题目背景1
1.2本课题的研究意义1
1.3开发环境2
2相关技术介绍3
2.1框架3
2.1.1jQuery3
2.1.2bootstrap3
2.1.3echart3
2.2函数库4
2.2.1selenium4
2.2.2beautifulSoup4
2.2.3Jieba4
2.2.4wordcIoud5
2.2.5Baidu-aip5
2.2.6SpringBoot
2.3软件介绍5
2.3.1MySQL5
2.3.2Ngrok5
3系统分析6
3.1可行性分析6
3.1.1技术可行性6
3.1.2操作可行性6
3.1.3经济可行性b
3.2功能需求7
3.2.1登录注册模块7
3.2.2个人信息管理模块7
3.2.3爬虫功能与数据分析与可视化模块7
3.2.4用例归约8
3.3安全以及性能需求15
3.4数据信息需求16
4系统设计16
4.1总体设计16
4.2.1系统模块设计16
4.2.2系统业务功能设计17
4.2.3爬虫功能流程图17
4.2详细设计18
4.2.1登录与注册模块18
4.2.2个人中心模块19
4.2.3文本分析模块20
4.2.4爬虫管理模块21
4.2.5数据获取与分析模块22
4.2.6数据可视化模块22
5数据库设计与实现24
5.1数据库概念结构设计24
5.2数据库逻辑结构设计26
5.2.1关系模式26
5.2.2数据库详细实施27
53数据库实现31
6微博数据获取与分析35
6.1微博爬虫设计35
6.1.1模拟登录35
6.1.2爬取流程及策略36
6.1.3博爬虫流程36
6.2数据提取37
6.2.1微博元素分隔37
6.2.2微网内容提取38
6.2.3微博时间重整与用户类型提取40
6.3微博数据分析41
7运行与测试43
7.1登录注册模块测试43
7.1.1登录功能测试43
7.1.2注册45
72个人中心模块测试47
7.3文本分析中心测试52
7.3.1分词/词云页52
7.3.2文本分词53
7.3.3词云生成55
7.3.4情感分析56
7.4爬虫管理及其相关功能测试57
7.4.1新建爬虫测试57
7.4.1用户爬虫管理58
7.4.1关键词爬虫管理61
7.6cookie测试65
7.6.1登录cookie设置测试65
7.6.2主页功能使用cookie检测67
结论68
参考文献69
致谢70
1绪论
1.1题目背景
21世纪是移动互联网技术快速发展并不断得到应用的世纪。社交媒体也就随技术
的日益成熟而慢慢的在人们的社交生活中扮演着重要角色.社交网络也逐渐成为了目前
受互联网用户欢迎的最流行的社交媒体形式。社交网络的用户关系以现实社会的人际关
系为原型,构成了互联网应用中用户社交网络结构的基础,关系网络深刻的影响了用户
之间的信息交互方式⑴。社交网络信息的快速传播与流通,已经使网民陷入信息的洪流
中。一系列社交网络己经作为互联网的常见角色而出现,如国外的脸书推特,国内的新
浪微博。这也意味着人们获取信息的方式也发生了巨大而深刻的变化。与此同时,社交
网络用户数量的快速增长,也让社交网络成为了交友和意见传递的亦或是生活记录的理
想平台。
微博是“微博客”的缩写,它是一种允许用户更新与发布一定长度的图文组合内容
的一种文本形式。微博的传播范围也相对封闭的社交媒体如朋友圈来的更广泛。同时,
受惠于社交网络的便利属性,用户还可以以关注的形式来构建新型的微博社交网络结构,
并获得这种关系中的个人兴趣信息和部分公开发布的微博内容。
1.2本课题的研究意义
2019年2月28日,中国互联网络信息中心(CNNIC)发布第43次《中国互联网络发
展状况统计报告》。报告显示,截至2018年12月:・我国网民规模达8.29亿,全年新增
网民5653万,互联网普及率为59.6%,较2017年增长3.8%。我国手机网民规模达8.17
亿,占网民的98.6%;使用电视上网的比例达31.较2017年增加2.9%;使用台式电脑
上网的比例为48%,较2017年下降5%⑵。同时中国互联网行业正在向规范化、价值化发
展,同时,也在尝试推动消费模式共享化、设备智能化和场景多元化运营模式⑶。根据
eMarketer对微博使用情况的首次预测,新浪微博在中国继续保持两位数的增长速度。
今年,新浪微博用户将达到3.410亿人,增长17%以上。截至2018年底,24.6%的中国
人是微博用户。如此庞大的样本数据的获取与分析是非常有价值的。
1.3开发环境
本次设计所开发的系统的开发环境如下:
(1)开发语言:Python、HTML、CSS、JavaScripto
(2)开发工具:Pycharm2019pro>Navicat12premium^VisualStudioCode
(3)框架技术:Django>jQuery>Bootstrap,?
(4)第三方平台:微信公众平台测试号。
(5)数据库:MySQLo
(6)操作系统:Windows10Pro。
(7)部署测试工具:ngroko
2
2相关技术介绍
2.1框架
2.1.1jQuery
jQuery是一个兼容多浏览器的相对JavaScript快速而又简洁的JavaScript框架,
它以“writeLess,D。More”的设计思想而为人所著称⑶,即在于尝试用更少的代码去
做更多的事情。它封装优化了常用的JavaScript函数,具有独特的链式语法便于我们
做更简单连续的语义表达,同时还有更清晰简明的多功能接口,并支持插件拓展机制。
2.1.2bootstrap
Bootstrap是一个简单,直观而强大的前端开发框架。它基于HTML,CSS和
JavaScript开发而成。让我们可以更快速的使用Bootstrap框架的所提供的样式和组
件或以之为基础来快速完成一个网站的首页构建与实现,做到这些,你只需要引用一些
定义的样式和组件(由类定义来引用相应的样式和组件)即可⑸。同时,它还能支持我
们在移动端的网页自适应,只需要我们在设计使用的时候能够做出相应的适配即可在移
动端看到网页的合理变化,并不影响美观,维护了用户的体验。
2.1.3echart
ECharts是一个用JavaScript实现的开源可视化库,可在PC和移动设备上顺利运
行,支持多浏览器平台适配,依赖于轻量级矢量图形库ZRender,能够提供直观明了,
互动丰富的,高度可定制的数据可视化图表⑹。用户只需要传入其提供的renderItem函
数的就能够自定义的我们想要的图形的接口。有了它,用户可以从数据映射到您想要的
任何图形,同时,可以与现有的交互式组件结合使用,而无需担心任何其他问题。
3
2.1.4django
Django是python开源的后台应用框架中功能相对最全面的一个,在Django中,我
们可以更专注与业务逻辑,其0RM模式解决了我们与数据库的沟通需求,同时template,
model,view三层设计也让业务逻辑显得更为直观,其中间件的设计以及路由配置都有
比较好的支持,可以用更少的代码更快的速度构建成熟后端⑺。
2.2函数库
2.2.1Selenium
Selenium是一个自动化的测试工具,它允许用户通过不同的webdriver生成不同
的浏览器实例并提供了一系列函数使用户可以通过脚本代码来尽可能的模拟人的浏览
操作,同时还能够根据需求配置用户代理cookie等,其浏览器实例的无头模式便可以
用来实现爬虫的构建。
2.2.2beautifuISoup
BeautifulSoup是一个网络爬虫数据解析常用的第三方函数库。它能够将html和
xml格式的文件读入并转为对象,我们可以用它提供的类似JavaScript函数的选择器
操作,来筛选我们想要的功能,但它实现了更强大更完整的筛选功能,也有更完善的dom
树操作,让我们更容易的获取我们想要的html信息。同时它还能够自动的为输入输出
的文档选择文档默认编码方案,在文档存在默认方案的前提下我们并不需要考虑文档的
编码转码问题。
2.2.3Jieba
Jieba分词是一个成熟的python中文分词讥库,提供给用户三个不同的分析模式
以适应不同的分词情景,精确模式多用于文本分析,希望得到最精确地文本切分结果,
而全模式则类似于穷举可以成词的词语,虽然这样容易产生歧义,但相应的能够获得更
快的检索速度。搜索引擎模式则建立在精确切分模式的基础上,对长词进行了进一步的
再分词,提高了词语的召回率,更适合用于搜索引擎的应用场景。
4
2.2.4wordcIoud
词云是以词语为基本单位,更加直观和艺术的展示文本图片。wordcloud库把词云
当作一个WordCloud对象,以WordCloud对象为基础我们只需要配置参数,加载文本,
即可根据文本中词语出现的频率等参数绘制词云,并输出文件。
2.2.5Baidu-aip
百度AI开放平台像开发者提供了免费的自然语言处理库,在安装器PythonSDK后,
仅需要通过简单的配置便可以新建一个aipNlp,通过调用aipNlp中对应的语言处理接
口,即可快速使用百度提供的数十种成熟的自然语言处理算法与解决方案,大大降低开
发技术成本,并能得到相对好的文本分析结果。
2.3软件介绍
2.3.1MySQL
Mysql是Oracle旗下的免费开源数据库,其社区版即拥有的优秀性能,使它成为中
小平台使用最多的关系型数据库之一,同时还有许多与之适配的可视化管理工具如
Navicat等,仅需要搭配好软件的架构便能很好的提供数据支持与维护网。
2.3.2Ngrok
Ngrok是一个国外的反向代理软件,它建立了本地虚拟服务器与云服务器间的数据
通信,云服务器可以代替本地主机接受公共ip的流量,并做•个流量中继到本地计算
机的ngrok进程,然后再将数据传递给指定本地端口。通常可以使用它来作为临时部署
测试工具⑶。
5
3系统需求分析
3.1可行性分析
可行性分析也称谓可行性和研究,是以预测为前提,以投资实现效果为目的,多方
面考量网站开发过程中可能存在的问题与挑战,从多箱度考量系统的解决方案与实施效
果,以便能够用预计的成本达到预期的效应〔助。本系统的可行性分析主要包括技术可行
性分析、经济可行性分析和管理可行性分析等三个方面的内容。
3.1.1技术可行性
从技术层面看,进行系统开发所使用的开发技术,如HTMLCSSJavaScriptjQuery>
bootstrap,django框架,MySQL等,都是常见并且相当成熟的技术,多发的程序问题可
以很容易的在相关程序网站上找到相应的解决方案,故开发人员可熟悉运用;从软硬件
层面开看,本系统开发用到的软件有VScodc软件、MySQL数据库、pycharmNgrok,
windows10系统等,这些软件设备均十分容易上手,便于开发人员轻松掌握。
3.1.2操作可行性
本系统为用户提供了简单直观的前端界面设计,用户可以通过左侧菜单栏进入其想
用的功能页面。每个功能页面都有正确合理的业务逻辑和人性化的错误提示,操作的简
便易用,数据获取与分析结果的可视化也让系统的使用变得更加容易。标签页的设计让
用户能自如的在不同页面问随意切换,多功能同时使用,所以用户不进行相关培训也可
以很熟练的使用本系统,
3.1.3经济可行性
本系统的开发成本较低,开发所运用到的各项软件皆为开源软件,Navicat能够试
用一个月作试用的数据库可视化工具,项目开发完成后有django自带的后台页面也就
可以一定程度上省去软件费用。其余开发所需的各项支出费用都在合理计划内,尽可能
的避免了超出项目范围能力的支出。同时,系统实施后理论上可以一定程度上帮助用户
获取想当数据量的微博数据并得到初步的分析统计结果。
6
3.2功能需求
3.2.1登录注册模块
1.登录
用户正确填写密码后,系统会给用户浏览器设置一个时长为15分钟的
cookie,用于近期的身份标识,如若用户选择了自动登录则cookie时长延
长为7天,用户若选择了记住用户名,则下次打开首页时,系统会传给
浏览器一个己填好用户名的页面,登录成功后会跳转至个人主页。
2.注册
用户正确注册后,系统后台会新建用户的个人文件夹,同时在数据库中增加
相关账户字段,注朋成功即会跳转回登录页面,便丁•用户继续进行登录操作。
3.2.2个人信息管理模块
前端:1.个人信息管理:用户登录成功后,在系统页面左侧的导航栏中进入个人中心首
页,在该页面可以查看到用户自身的详细信息,同时也允许用户修改自己的
个人信息以及用户头像,部分信息不允许修改,用户点击提交修改后,修改成
功或者失败均有相应提示。
2.修改密码在个人中心选项中点击“修改密码”,进入到修改密码页面,填写空
缺内容后向后台发出修改密码请求。
后端:1.接受处理信息更新请求
2.接受处理审核密码修改请求
3.2.3爬虫功能与数据分析与可视化模块
1.爬虫
前端:1.爬虫任务添加页:在系统页面左侧的导航栏中有爬虫任务的添加与页。
2爬虫任务管理页:.动态生成用户爬虫以及主题爬虫页面,并能够对其增删
查作及时的动态反应,
7
后端:1.处理爬虫事件查询请求,查询符合条件的结果,并合成出表格hlml语言返回
前端渲染。
2.对于爬虫的增删查作出正确的数据操作,对任务删除作逻辑删除即可,根据
任务不同返回不同的表格数据。
3.定时检测任务库的任务完成状态,并选取未完成的任务进行符合需求的数据
爬取分析。
2.数据分析与可视化
前端:提供用户数据分析结果的接口,并用模态框将后端数据渲染在表格中,给用户以
直观地数据特征展示。
后端:合理分析处理爬虫模块所爬取的数据,并部分生成分析结果存入数据库,面对前
端可视化模块的数据请求时,分别从数据库中读取分析结果以及进行临时的统
计分析。
4.文本处理模块
前端:提供用户上传文件或文本框的内容输入形式,提供用户词云或分次的功能选择,
并对后台处理后数据进行可视化展示或下载
后端:分析前端请求功能,按需求处理前端上传的数据,生成对应的词云或者实现文本
的合理分词。
3.2.4用例归约
由上述的功能分析,可以初步得出用例归约
表3£登录用例幽
用例名称登录系统
用例简述用户登录爬虫系统
8
用例图
9___
人
主要流程I.用户输入用户名和密码
2.点击登录按钮
替代流程1.账号出错时提示“不存在此用户名
2.密码出错时提示“密码错误”
表3.2注册用例归约
用例名称注册系统
用例简述用户注册爬虫系统
用例图
主要流程1.用户输入注册用户名和密码以及确认密码
2.点击注册按钮
替代流程1.账号出错时提示“此用户名已被占用”
2.密码不一致时提示“密码不一致”
3.密码长度不足6位时提示“密码最少8位,最长20位”
9
主要流程1.用户点击左侧菜单栏进入个人中心
替代流程1.点击退出返回登录页面
表3.4修改密码用例规约
用例名称修改密码
用例简述用户需要修改账号密码
用例图4__________________
A
主要流程1.用户点击修改密码
2.用户输入账号当前密码、新密码和确认密码
3.点击提交修改
4.提示修改成功
替代流程1.填写密码错误、密码为空或两个新密码不一致时提示错
误信息
2.点击返回个人中心页面
表3.5修改个人信息用例规约
用例名称修改个人信息
用例简述用户需要查看或修改个人信息
10
用例图?____________________/修改个人、\
丈一J
主要流程1.用户点击我的资料即可查看到个人信息
2.点击修改按钮
2.输入新的个人信息
3.点击保存修改
4.提示修改成功
替代流程1.修改内容为空时提示“修改内容为空”
2.点击返回返回个人中心页面
表3.6文本分析处理中心用例规约
用例名称个人中心
用例简述用户进入文本分析处理中心
用例图
主要流程I.用户点击左侧菜单栏进入文本分析处理中心
替代流程1.点击退出返I可登录页面
表3.7文本分词用例规约
II
主要流程1.用户选择文本分词功能
2.用户选择文本传输方式并输入文本
3.点击提交按钮
4.获取分析结果
替代流程1.点击退出返回登录页面
2.点击清屏按钮清除文本框
表词云生成用例规约
用例名称使用词云生成功能
用例简述用户进入使用词云生成功能
用例图
-►
主要流程1.用户选择词云生成功能
2.用户选择文本传输方式并输入文本
3.点击提交按钮
4.获取词云
替代流程3.点击退出返回登录页面
4.点击清屏按钮清除文本框
表3.9爬虫管理中心用例规约
用例名称爬虫管理中心
用例简述用户进入爬虫管理中心
12
用例图2
_AA爬虫管理\
人V中心)
主要流程I.用户点击左侧菜单栏进入爬虫管理中心
替代流程1.点击退出返回登录页面
表3.10进入用户爬虫页规约
用例名称进入用户爬虫管理页
用例简述用户进入用户爬虫管理页
用例图
主要流程1.用户点击用户爬虫管理
替代流程1.点击退出返回登录页面
表3.11进入关键词爬虫页规约
用例名称进入关键词爬虫管理页
用例简述用户进入关键词爬虫管理页
用例图
主要流程1.用户点击关键词爬虫管理
替代流程1.点击退出返回登录页面
13
表3.12爬虫数据查看规约
用例名称查看爬虫数据分析页
用例简述用户查看爬虫数据分析
用例图厂~、
0________________►(查看爬虫\
\数据分析
主要流程1.用户点击爬虫任务的数据分析杳看按钮,可以看到相关
数据的图标分析结果。
替代流程1.点击退出返回登录页面
表3.13爬虫数据下载规约
用例名称爬虫数据下载
用例简述用户下或爬虫数据
用例图
主要流程1.用户点击爬虫任务的数据下按钮,可以接受相关数据的
excel文件。
替代流程1.点击退出返呵I登录页面
表3.14爬虫任务删除规约
用例名称删除爬虫任务
用例简述用户删除爬虫任务
用例图
主要流程1.用户点击爬虫任务的删除按钮,可以删除选定爬虫任
14
务。
替代流程1.点击退出返回登录页面
表3.15新建爬虫任务规约
用例名称新建爬虫任务
用例简述用户新建爬虫任务
用例图
主要流程1.用户点击爬虫任务的新建按钮
2.填写爬虫相关信息
3.点击提交按钮
替代流程1.点击退出返回登录页面
3.3安全以及性能需求
(1)系统必须在尽可能快的时间内完成数据请求的相应。
(2)系统应尽可能避免请求的数据虚耗计算耗时较长的情况,尽量将此类数据请求转
换为数据库数据请求,即尽可能提前完成耗时较长的计算,如本系统的情感分析
及统计,用户信息统计等,应尽可能提前完成。
15
(3)拥有足够大的物理空间能够容纳数据以及用户文件
(3)系统能够接受一定数量的用户并发请求并且不会崩溃。
(4)系统应具有安全措施,防止未授权用户登陆使用。能够及时检测cookie,对于没
有cookie或cookie过期的用户,应及时给出提示并跳转至登录页面。
3.4数据信息需求
由用例归约,可以初步得出数据的信息方面需求:
(1)用户信息:用户名,密码,头像,手机号码,邮箱,上次登录日期)
(2)用户爬虫任务:id,微博用户名,用户uid,总发博数,总关注数,总粉丝量,用
户类型,任务状态,创建时间,完成时间
(3)事件爬虫任务:id,,关键词,任务状态,创建时间,完成时间
(4)用户爬虫日统计信息:Id,当日评论总数,当日转发总数,当日获赞总数,统计
表口期,当日发博时间统计,日期编号
(5)关键词爬虫信息:Id,爬取有效微博数,阅读量,讨论量,用户类型分布,关键
词情感分析统计,词云路径,总计评论数,总计获赞数,总计转发数
(6)用户微博:Td,微博唯一id,博主姓名,博主uid,发博时间,微博内容,评论
数,转发数,获赞数,组片数量,转发标识,转发微博id
(7)关键词微博:Id,微博唯一id,博主姓名博主uid,发博时间,微博内容,内容
情感倾向,评论数,转发数,获赞数,用户类型
4系统设计
4.1总体设计
4.2.1系统模块设计
系统整体可分为四个模块:注册登录模块、个人信息管理模块、爬虫任务管理模块、
文本分析处理模块,数据获取与分析模块,数据可视化模块,整体结构如图4.1
16
爬虫系统
个人信息管爬虫管理文本处理数据获取与数据可视化
登录注册模块
理模块模块模块分析模块模块
图4.1系统总体结构图
4.2.2系统业务功能设计
4.2.3爬虫功能流程图
图4.3爬虫功能流程图
17
4.2详细设计
4.2.1登录与注册模块
登录与注册模块包含了用户登录与用户注册两个功能,其功能结构如图,
登录与注册模突
登
注
录
册
功
功
能
能
图4.4登录与注朋模块结构图
(1)用户注册
用户注册,有两个入口,其一为登录入口右上角的注册按钮,其二为通过url
/register直接进入注卅页面,用户只需要按需求填好密码及密码确认即可,当用户没
有按要求填写符合格式的内容时,会有相应的红字提示,如当用户名不符合要求是,
会提示请输入5-20字用户名,两次密码不符合时会提示两次输入的密码不一致,密码
长度不符时也会有相应的提示。正确填写后,系统会在数据库中添加该用户信息,并
在数据文件夹中新建该用户的文件夹用以保存其数据。完成注册后,页面会自动跳转
至/login(登录)页面,
(2)用户登录
当我们打开login页面时,首先系统会检测是否含有自动登录所需要的cookie,
若有则登录页面会直接跳转至个人首页。若没有该页则会检测是否含有记住用户名
cookie字段,若有则返回用户名已填好的登录入口。
登录页面中的登录信息窗口十分简明,提供了用户名与密码的填写窗口,也为没有
注册的用户提供了注册接口,用户通过输入用户名和密码登录入系统,如果用户名或
密码不正确,系统就会给予相应的错误提示。同时我们还可以选择,是否记住密码以
及自动登录,当我们没有选择自动登录时,系统会给用户设置一个时长为15分钟的
18
cookie,这15分钟内用户可以不用填写cookie便登入系统,当我们分别选择记住用
户名和自动登录时,系统分别会给用户设置一个时长为一周的cookie,以便于用户的
操作。
4.2.2个人中心模块
个人中心模块包含了查看与修改个人信息、修改密码、登出帐号等三个功能,其功
能结构如图。
个人中心
图4.5个人中心模块结构图
(1)登出功能
登出功能让用户可以在不操作浏览器cookie管理工具的前提下进行账户的登出,
页面会跳转回登录界面,同时系统用于自动登录的cookie会被作废,一定程度上的提
供了用户账号安全。
(2)查看与修改个人信息
用户从左侧菜单栏的个人中心入口即可很容易的找到个人信息按钮,点击即可看到
一系列用户个人信息,如不可更改的用户名以及上次登录时间,可以更改的电话邮箱
以及个人头像。新注册用户的头像为空,系统右上角会使用一个特殊的头像作暂替,
同时上次登录窗口会显示用户是首次登录。
当用户没有点击修改按钮时,为了避免误触,此时的信息栏都是不可修改模式,当
19
用户点击修改后,电话与邮箱输入框会恢复可编辑模式,但当用户填写了不符合规格
的信息时系统会给出相应的错误信息提示。当用户正确填写后,点击保存按钮,此时
当信息与服务器同步成功后,可得到一个成功反馈,编辑框将重新恢复不可编辑模
式。通过选择文件按钮用户可以很简单的上传自己的头像并获得更新。上传成功后右
上角也会及时的更新用户的小型微缩头像。
(3)修改密码
当用户想修改密码时,也可在个人中心中找到修改密码按钮进入修改密码页面,按
需求填好密码后,经过•致检测后即可更新自己的密码,当两次密码不一致时,会给
出相应的错误信息提示,
4.2.3文本分析模块
文本分析模块包括文本分词、词云在线生成、情感分析三个功能,其功能结构如图。
文本分析中心
—
|
文
词
情
本
云
感
分
生
分
词
成
析
图4.6文本中心模块结构图
(1)文本分词与词云生成
在左侧菜单栏中,用户可以找到文本分析模块的两个入口一一中文分词/词云以及情感
分析,同时在分词/词云页中,用户可以自由选择选取的文本传送方式,以及功能选项,
前端会根据用户选择动态切换结果展示窗口,当用户完成功能后可以点击清屏按钮来重
置控件,轻松进行下一个操作。用户选择文本分词功能时,右侧会出现一个文本窗口用
以展示文本分词结果。当用户需要文本量较大的文件分词功能时,可以传入一个文本文
件,系统分词完毕后会回传一个txt.文件,浏览器一般会以一个新的窗口直接打开展示,
20
用户只需要右键点击另存为即可获取分词结果。
(2)词云在线生成
在分词/词云页中,用户选择词云生成功能后,右侧的文本框会变为图片展示框,用
户选择词云文本传输方式并正确进行文本输入后,系统会在展示窗中更新出用户文本对
应的词云。
(3)情感分析
在情感分析页,用户将需要分析的端文本填入文本框中并上传即可在右侧数据栏中
看到结果的可视化展示,包括其内容的积极消极概率以及判断的置信度和最终的情感分
类,同时会有一个环形图直观的展示分析结果的正负情感倾向比例。当我们需要进行下
一个分析时,同样可以通过清屏按钮来协助操作。
4.2.4爬虫管理模块
爬虫管理模块包括新建爬虫、用户爬虫管理、关键词爬虫管理三个功能,其功能结
构如图。
关
用
键
薪
户
词
建
飞
飞
飞
虫
虫
虫
管
管
理
理
图4.6爬虫管理模块结构图
(1)新建爬虫
新建爬虫页,用户可以通过对新建类型选择控件的来实现页面的动态响应,虫面会
根据选项来加载不同类型爬虫的添加窗口,加载完毕后,用户可以根据爬虫构建的关
键信息数据来提交新的爬虫任务,同时留有几个备选输入框为预备输入框,为功能拓
展作准备。
21
(2)用户爬虫管理/关键词爬虫管理
用户爬虫管理页与关键词爬虫管理页结构类似,在此一并讲解。爬虫管理页,分
为用户爬虫管理页和关健词爬虫管理页,提供用户管理自己的爬虫任务的接口,用表
格的形式展示,两个页面分别按爬虫种类呈现不同的内容,用户爬虫表格提供了爬虫
id、微博用户昵称、用户uid、创建时间、内容数据、完成状态等关键词,关键词爬虫
表格则提供了关键词爬虫的id、关键词。任务的创建时间、内容数量、完成状态。但
同时提供了爬虫相关数据可视化的进入接口以及微博数据获取的下载接口,和任务逻
辑删除的按钮设置,用户可以通过按钮轻松的实现爬虫任务的管理。
4.2.5数据获取与分析模块
数据获取与分析模块包括用户微博数据获取与分析以及关键词微博数据获取与分
析共四个功能。单独一章描述。
4.2.6数据可视化模块
数据可视化模块包括用户数据可视化,关键词数据可视化两个功能,其功能结构如
图。
数据可视化模埃
关
用
键
户
词
数
数
据
据
可
可
视
视
化
化
图4.8个人中心模块结构图
(1)用户数据可视化
用户数据可以分为六个国表来展示,分别为:
[1]用户统计信息:使用数据标签来展示关注量、粉丝量、微博量、总计评论量、
总计转发量、总计点赞量,
[2]近七日微博情感分析展示:用环形图来展示近七日微博用户微博中,情感积极
22
与情感消极以及情感中立的微博条数,以及三者的
比例对比,当用户将鼠标放在环形统计图上时,统
计图会自动显示该部分的倾向与数值。
[3]近七日的微博统计数据:用柱形图来表现本周每日微博总计评论转发点赞数,
突出数量特征。
[4]近期七日发博时间统计:用折线图来表现各时间段的发博数量,突出趋势变
化。
[5]近三月微博数据环比:用每个月份三个数据类型的柱形图来展示近三月的各项
微博活跃度指标的数值与对比。
[6]九十日微博数据折线图:用三种数据的合成折线图来展示近三月各项数据的分
别变化趋势,同时一定程度上的看到各项数据之间的
数量异同。
(2)关键词数据可视化
关键词数据可以分为四个图表来展示,分别为:
[1]关键词统计信息:使用数据标签来展示爬取微博数、讨论量、阅读量、总计评
论量、总计转发量、总计点赞量。
注:讨论量与阅读量并非每个关键词都能够获取,未能获取的关键词信息将以
unknown显示。
[2]用户比例分布:使用了百分比展示图来展示普通用户,个人认证用户与官方认
证用户分别在本关键词讨论中所占据的比例,使每个类型的人
数占比数量更分明。
[3]微博情感统计分析结果:使用了环形图来展示关键词情感数据的统计正向值负
向、中立累计值以及其比例,并用文本标签来展示具
体数值和总计倾句。
23
5数据库设计与实现
5.1数据库概念结构设计
系统的概念结果可以用概念模块E-R图来展示:
图5.1用户属性实休图
图5.2用户爬虫实体图
24
图5.3关键词爬虫实体图
图5.5关键词微博实体图
25
图5.6用户每口信息统计实体图
图5.7关键词关键词分析统计信息实体图
图5.8微博账户实体图
5.2数据库逻辑结构设计
5.2.1关系模式
关系模式(由上面的ER图转化而来的关系模式,下划线的为主键):
26
(1)用户信息(用户名,密码,头像,手机号码,邮箱,上次登录日期)
(2)用户爬虫任务(id,微博用户名,用户uid,总发博数,总关注数,总粉丝量,用
户类型,任务状态,创建时间,完成时间,用户id(外键))
(3)事件爬虫任务(id:,关键词,任务状态,创建时间,完成时间,用户id(外键))
(4)用户爬虫日统计信息(Id,当日评论总数,当日转发总数,当日获赞总数,统计表
日期,当日发博时间统计,所属用户爬虫id(外键),日期编号)
(5)关键词爬虫信息(Id,爬取有效微博数,阅读量,讨论量,用户类型分布,关键词
情感分析统计,词云路径,总计评论数,总计获赞数,总计转发数,所属任务id(外键))
(6)用户微博(Id,微博唯一id,博主姓名,博主uid,发博时间,微博内容,评论
数,转发数,获赞数,国片数量,转发标识,用户爬虫任务id(外键),转发微博id)
(7)关键词微博(Id,微博唯一id,博主姓名博主uid,发博时间,微博内容,内容情
感倾向,评论数,转发数,获赞数,用户类型,所属爬虫id(外键))
5.2.2数据库详细实施
(1)用户信息部分
表5.1用户信息数据表
列名中文含义数据类型约束说明
idIdInt(11)非空主键
username登录名Varcha(20)r非空
password密码Varchar(20)非空
email邮箱Varchar(50)
phonenumber联系方式Varchar(11)
personal-filepath用户文件数据路径Varchar(50)
last_login_time上次登录事件Varchar(20)
is_delete逻辑删除Tinyint⑴非空
表5.2用户爬虫任务表
列名中文含义数据类型约束说明
idIdInt(11)非空主键
weibo_user_nam微博用户名Varchar(20)非空
27
e
uid用户唯一标识符varchar(50)非空
fans_num粉丝数Int(11)
follow_num关注数int(1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 塑料热合工诚信道德考核试卷含答案
- 燃料值班员岗前培训效果考核试卷含答案
- 2025年全国计算机等级考试二级C语言真题及答案
- 2025年计算机应用基础考试试卷及答案
- 2025年达梦数据库题库及答案
- 2025考核人工智能训练师四级真题精-选附答案
- 2005年中级会计资格考试《财务管理》模拟试题及答案
- 2026浙江省教师职称考试(道德与法治学科知识)历年参考题库含答案详解3卷
- 2026浙江建设工程质量检测人员考试(市政桥梁检测)历年参考题库含答案详解3卷
- 2026河南机关事业单位工勤技能岗位等级考试(土建施工人员·中级/四级)历年参考题库含答案详解2卷
- (17)义务教育劳动课程标准日常修订版(2022年版2025年修订)
- 2025年教师资格证综合素质考试题及答案
- 人教版(2024)七年级全一册信息科技第1单元《探寻互联网新世界》教案
- 车间电动三轮车安全培训课件
- 迎接新阶段追逐新梦想-2025-2026学年高一上学期新生入学开学第一课主题班会
- 腾讯研究院:工业大模型应用报告
- 环境实验室安全知识培训
- (高清版)DB33∕T 1208-2020 工型混凝土预制桩水泥土连续墙技术规程
- 中医知识与优生优育
- 异常分娩的识别及处理
- 中国椎管内分娩镇痛专家共识(2020版)
评论
0/150
提交评论