APP下载

基于Flask的博客网站设计与实现

2020-07-04涂远杰郑剑

电脑知识与技术 2020年15期
关键词:爬虫

涂远杰 郑剑

摘要:该博客系统是一款分享型博客,注重个人的学习心得、生活等方面的记录。后台基于Python中的Flask框架开发,还涉及爬虫,数据库使用的是轻型的SQLite,同时,前端页面的实现涉及HTML、JavaScript等。系统角色分为游客、用户、管理员,游客只能进行查看操作,用户可以发表并管理博客和评论、喜欢他人的博客,用户还可以在个人中心编辑个人信息等操作,管理员可以对所有博客和评论等进行增删改查操作。博客编辑与查看使用的是富文本,涉及MarkDown语言。

关键词:博客系统;爬虫;Python;Flask;HTML

中图分类号:TP393 文献标识码:A

文章编号:1009-3044(2020)15-0109-03

在当今这个信息化的时代下,人们更多的是通过网络来记录自己的生活或者学习心得等方面的内容,而该博客系统会是一个较好的生活分享、学术交流的平台。该系统项目设计时确定三种系统角色,即游客、用户、管理员,通过设计不同的接口来实现不同的功能。对于游客,只能进行查看操作,如浏览首页、查看其他用户发布和喜欢的博客等查看操作。而对于用户,还可以撰写博客,管理博客,喜欢其他人的博客,发表评论等。管理员则是对整个博客系统进行管理。整个系统是基于Pvthon中的Flask框架来实现的,还结合了爬虫技术,主要应用于首页,爬取微博的热搜榜,实时显示热度前十的关键词链接。在用户注册方面,为避免出现僵尸型用户,注册采用的是邮箱注册,只有正确的邮箱才能进行注册确认,从而成功登录系统。而且为保护用户账号安全,采用pbkdf2和sha256算法来对密码进行加密。在撰写博客方面,使用的是富文本编辑器,而且为了有更好的用户体验,编辑博客时会有内容效果的实时预览。

1系统功能结构的设计

1.1系统后台管理端功能

如图1所示系统后台管理端具有如下功能:

1)对已注册的用户的信息进行修改;

2)对所有的博客进行修改和删除操作;

3)对所有的评论进行删除操作。

1.2网页用户端的主要功能介绍

如图2所示网页用户端具有如下功能:

1)用户通过邮箱注册账号,需填写正确的邮箱以接收验证邮件;如果已有账号可直接登录,在登录页设有“忘记密码”功能;

2)用户成功登录系统后,在个人中心页面可以修改个人资料或修改密码,还可以撰写博客,以及管理已发表或已喜欢的博客;

3)用户可以在首页查看或喜欢他人发表的博客,以及评论博客,在博客详情页可以管理自己发表的评论,还可以在首页浏览从微博爬取过来的热搜,链接可点击。

2系统实现的关键技术

2.1邮箱验证注册减少僵尸型用户

在如今繁杂的网络世界中,许多社交平台有着大量的僵尸型用户,也就是不活跃的用户或者虚假用户,也存在许多的恶意注册,以达到刷点赞数等其他目的,从而对系统的真实用户造成不良体验等。所以本系统采用邮箱验证注册来减少僵尸型用户的产生,注册用户需填写正确且有效的邮箱,系统会发生一封验证邮件到该邮箱,验证邮件中携带着系统随机产生的一个序列号链接,只有收到邮件并点击链接才能完成验证,从而成功注册。具体注册验证流程如图3所示。

3系统界面设计

该博客网站系统是一款分享型博客系统,注重个人学习心得等方面的记录,在为他人提供帮助的同时,也从他人那里获取到对自己有用的知识,营造良好的学习氛围。

1)用户注册登录模块:用户填写相关信息进行注册并登录,在登录页还设有“忘记密码”功能。

2)首页展示模块:在该页面,用户可以浏览他人发表的博客,并对其进行查看、喜欢等操作,还可以浏览微博实时热点。

3)用户个人中心模块:该模块包含个人资料、撰写博客、管理自己发表及喜欢的博客。

4)后台管理模块:在该模块管理员可以对用户、博客、评论进行管理。

4结束语

经过测试,该系统各个功能模块运行都很稳定。该系统开发使用的是Pvthon中的Flask框架,并且数据库使用的是SQLite,两者都是轻便型工具,所以大大缩短了代码的编写量。而且该系统数据库保存密码的字段使用pbkdf2和sha256算法来加密的,所以大大提高了用户账号的安全性。虽然該系统功能基本完成,但仍然需要继续完善。

猜你喜欢

爬虫
利用网络爬虫技术验证房地产灰犀牛之说
基于Python的网络爬虫和反爬虫技术研究
利用爬虫技术的Geo-Gnutel la VANET流量采集
大数据背景下校园舆情的爬虫应用研究
大数据环境下基于python的网络爬虫技术
基于Heritrix的主题爬虫在互联网舆情系统中应用