国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Django實(shí)現(xiàn)四方博客

2019-11-03 14:07:16謝建華梁杰華鄭劍
電腦知識(shí)與技術(shù) 2019年23期
關(guān)鍵詞:爬蟲(chóng)博客系統(tǒng)

謝建華 梁杰華 鄭劍

摘要:基于Django和爬蟲(chóng)的綜合型博客系統(tǒng)開(kāi)發(fā)設(shè)計(jì)中,使用Pycharm,主要使用的是python語(yǔ)言,同時(shí),頁(yè)面文件的編寫(xiě)和一些交互的實(shí)現(xiàn)也涉及Html,JavaScript。技術(shù)方面,使用的python中的穩(wěn)定框架Django進(jìn)行開(kāi)發(fā),在選用數(shù)據(jù)庫(kù)時(shí),選用關(guān)系型數(shù)據(jù)庫(kù)mysql。該次設(shè)計(jì)主要是實(shí)現(xiàn)一個(gè)綜合性能的博客系統(tǒng),系統(tǒng)角色有游客,用戶(hù),管理員,超級(jí)管理員,游客可以實(shí)現(xiàn)內(nèi)容查看,用戶(hù)和管理員可以對(duì)博客文章的增刪改查,對(duì)評(píng)論以及多重回復(fù)評(píng)論的實(shí)現(xiàn),對(duì)文章進(jìn)行標(biāo)簽設(shè)計(jì)登,超級(jí)管理員可以對(duì)用戶(hù)進(jìn)行權(quán)限控制等。 “四方博客”,顧名思義,“四方”即意味著這是一個(gè)綜合型博客平臺(tái),廣納各方博主見(jiàn)聞并分享于此平臺(tái),達(dá)到信息共享,交流學(xué)習(xí)。

關(guān)鍵詞:Python;Django;博客;系統(tǒng);爬蟲(chóng)

中圖分類(lèi)號(hào):TP393? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2019)23-0051-04

開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

Implementation of Quadripartite Blog Based on Django

XIE Jian-hua, LIANG Jie-hua, ZHENG Jian

(Jiangxi University of Science and Technology, Ganzhou 341000, China)

Abstract: In the development and design of integrated blog system based on Django and crawler, Pycharm is mainly used in Python language. At the same time, the compilation of page files and some interactive implementations also involve Html and JavaScript. Technically, the stable framework Django in Python is used for development. When selecting database, the relational database mysql is used. This design is mainly to achieve a comprehensive performance of the blog system, the system role of tourists, users, administrators, super administrators, tourists can achieve content viewing, users and administrators can add, delete and modify blog articles, comments and multiple replies to the implementation of comments, tag design for articles, super The level administrator can control the user's rights and so on. "Quartet Blog", as its name implies, "Quartet" means that it is a comprehensive blog platform, which includes all bloggers'opinions and stories, so as to achieve information sharing and exchange of learning.

Key words: Python; Django; blogs; systems; Crawlers

本次設(shè)計(jì)定位為綜合型博客平臺(tái),針對(duì)本系統(tǒng)不同的角色,提供不一樣的功能接口。設(shè)計(jì)的角色有游客,普通用戶(hù),普通管理員,超級(jí)管理員四個(gè),通過(guò)良好的接口方法設(shè)計(jì),達(dá)到使處在游客角色的人只能夠?qū)Ρ鞠到y(tǒng)提供的文章信息以及博主信息進(jìn)行觀看,處在普通用戶(hù)或管理員的人能夠查看并發(fā)布并管理自己的文章,超級(jí)用戶(hù)可以對(duì)整個(gè)系統(tǒng)進(jìn)行控制。設(shè)計(jì)的模塊有前臺(tái)顯示模塊,前臺(tái)管理模塊,系統(tǒng)后臺(tái)管理模塊,在這設(shè)計(jì)過(guò)程中,使用Django框架自帶的一些組件和自定義的如中間件,自定義上下文,自定義系統(tǒng)模型,自定義驗(yàn)證器等等,來(lái)完成各大功能模塊的編寫(xiě)。

前臺(tái)首頁(yè)渲染使用數(shù)據(jù)庫(kù)技術(shù)以及爬蟲(chóng)技術(shù),完成本系統(tǒng)爬取CSDN熱門(mén)博客內(nèi)容進(jìn)行展示以及使用爬蟲(chóng)可視化技術(shù)展示當(dāng)?shù)匚磥?lái)幾天天氣情況。系統(tǒng)首頁(yè)人人可見(jiàn),前臺(tái)用戶(hù)注冊(cè)在用戶(hù)注冊(cè)時(shí)提供短信碼驗(yàn)證技術(shù),在其他信息沒(méi)有錯(cuò)誤的情況下,當(dāng)手機(jī)號(hào)與接收的驗(yàn)證碼都沒(méi)問(wèn)題才能注冊(cè)成功。注冊(cè)成功的用戶(hù)在登錄后可以進(jìn)入到自己的文章管理后臺(tái),可以管理文章,標(biāo)簽,評(píng)論,分類(lèi),相較于游客這一角色,注冊(cè)后的用戶(hù)具有評(píng)論,點(diǎn)贊的權(quán)力,以及管理文章的權(quán)力,換言之,用戶(hù)擔(dān)任著兩重角色,即普通用戶(hù)和普通管理員的角色。超級(jí)管理員即可以對(duì)整個(gè)系統(tǒng)的已發(fā)布的信息進(jìn)行存儲(chǔ),以及修改某個(gè)用戶(hù)的權(quán)限,同時(shí),超級(jí)管理員也可以以普通管理員的身份進(jìn)行發(fā)布并管理文章,換言之,超級(jí)管理員擔(dān)任著三重角色。本項(xiàng)目旨在通過(guò)綜合型博客平臺(tái)達(dá)到信息共享以及學(xué)術(shù)交流的目的。

1 系統(tǒng)功能結(jié)構(gòu)的設(shè)計(jì)

1.1 系統(tǒng)管理端功能

如圖1所示整個(gè)系統(tǒng)后臺(tái)具有如下功能:

1)超級(jí)管理員管理整個(gè)系統(tǒng)的已注冊(cè)用戶(hù),可對(duì)用戶(hù)進(jìn)行批量操作,設(shè)置用戶(hù)權(quán)限,分組等;

2)超級(jí)管理員管理整個(gè)系統(tǒng)的評(píng)論信息,可批量操作評(píng)論,使非法評(píng)論得到控制;

3)系統(tǒng)可以讓超級(jí)管理員管理整個(gè)系統(tǒng)已發(fā)布文章。

1.2 Web用戶(hù)端的主要功能介紹

Web用戶(hù)端分為前臺(tái)模塊和前臺(tái)管理模塊,如圖2和圖3所示,主要具有以下功能:

1)前臺(tái)模塊下分為前臺(tái)信息展示模塊和注冊(cè)登錄模塊;信息展示模塊主要提供給用戶(hù)瀏覽全站博客或個(gè)人博客園等信息的接口,系統(tǒng)首頁(yè)使用爬蟲(chóng)渲染數(shù)據(jù),注冊(cè)登錄模塊即為管理模塊奠定基礎(chǔ),注冊(cè)采用手機(jī)短信驗(yàn)證,登錄提供驗(yàn)證碼驗(yàn)證;

2)前臺(tái)管理模塊提供用戶(hù)管理自己發(fā)布的所有信息,提供用戶(hù)作為管理員的角色接口。

2 系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)

2.1 使用短信驗(yàn)證注冊(cè),提高系統(tǒng)信息真實(shí)性

作為一個(gè)綜合型博客系統(tǒng),需要對(duì)注冊(cè)的用戶(hù)信息進(jìn)行真實(shí)性考量,防止在平臺(tái)隨意發(fā)布一些違規(guī)信息,雖然對(duì)違規(guī)信息可由管理員進(jìn)行控制賬號(hào)權(quán)限,但仍需要從源頭上將系統(tǒng)用戶(hù)進(jìn)行最基本的過(guò)濾,只有注冊(cè)時(shí)能夠通過(guò)全部驗(yàn)證的才能注冊(cè)成功,全部驗(yàn)證包括郵箱,手機(jī)號(hào),短信驗(yàn)證碼等。根本上可以控制注冊(cè)的用戶(hù)為真實(shí)存在的信息的手段是使用短信驗(yàn)證技術(shù),從而提高系統(tǒng)信息真實(shí)性,為平臺(tái)發(fā)布合法內(nèi)容奠定最基礎(chǔ)的控制。短信驗(yàn)證時(shí)流程圖4如下:

2.2 用戶(hù)登錄后可以管理自己發(fā)布的所有

由于系統(tǒng)定位為綜合型博客平臺(tái),故在角色設(shè)計(jì)上,用戶(hù)可以作為自己的管理員,管理自己發(fā)布的所有,即對(duì)自己的文章,評(píng)論,分類(lèi),標(biāo)簽等進(jìn)行增刪改查的操作,達(dá)到用戶(hù)的雙重角色,既是用戶(hù)又是管理員,能夠?qū)ψ约旱陌l(fā)布進(jìn)行控制,達(dá)到減輕系統(tǒng)管理工作的目的。具體流程圖如圖5所示:

2.3 系統(tǒng)后臺(tái)可以管理整個(gè)系統(tǒng)

系統(tǒng)后臺(tái)提供超級(jí)管理員訪問(wèn)的入口,為了使平臺(tái)發(fā)布的內(nèi)容以及對(duì)注冊(cè)的用戶(hù)進(jìn)行行為控制等,必須使平臺(tái)擁有自己定義的管理員,對(duì)系統(tǒng)中各個(gè)用戶(hù)進(jìn)行控制,對(duì)系統(tǒng)中全部文章進(jìn)行控制,對(duì)系統(tǒng)中全部評(píng)論進(jìn)行控制等等。設(shè)計(jì)系統(tǒng)后臺(tái)可以管理整個(gè)系統(tǒng)就是實(shí)現(xiàn)這一目的的手段。具體如圖6所示:

3 系統(tǒng)界面設(shè)計(jì)

四方博客平臺(tái)是一款綜合型博客平臺(tái),并使用了爬蟲(chóng)技術(shù)實(shí)現(xiàn)首頁(yè)博客熱門(mén)文章的抓取并顯示,主要提供發(fā)布及展示以及管理等功能,系統(tǒng)大致劃分為四個(gè)模塊,即用戶(hù)注冊(cè)登錄,信息展示,用戶(hù)管理自己發(fā)布,系統(tǒng)管理用戶(hù)。

1)用戶(hù)注冊(cè)登錄模塊:注冊(cè)提供用戶(hù)參與到系統(tǒng)信息構(gòu)建的入口,提升用戶(hù)權(quán)限,使用戶(hù)能夠具有比游客這一角色更豐富的權(quán)限;登錄提供用戶(hù)發(fā)布信息以及管理信息的入口,只有在登錄狀態(tài)下,才能夠進(jìn)行數(shù)據(jù)管理。

2)信息展示模塊:此模塊為用戶(hù)提供系統(tǒng)首頁(yè)博客文章的渲染,其中使用了分頁(yè)對(duì)數(shù)據(jù)進(jìn)行良好的呈現(xiàn),此外,還提供有個(gè)人博客園信息的展示,文章詳情信息的查看等的接口。

3)用戶(hù)管理自己發(fā)布模塊:用戶(hù)個(gè)人模塊中各一部分,提供用戶(hù)對(duì)不同信息的操控,管理的對(duì)象是自己所發(fā)布的所有內(nèi)容即文章,評(píng)論,標(biāo)簽,分類(lèi)等。

4)系統(tǒng)管理用戶(hù)模塊:提供對(duì)平臺(tái)控制的接口,能夠使平臺(tái)的信息安全穩(wěn)定的呈現(xiàn)給訪問(wèn)站點(diǎn)的用戶(hù)。

4 小結(jié)

本系統(tǒng)開(kāi)發(fā)使用python中的Web框架即Django進(jìn)行開(kāi)發(fā),能夠通過(guò)簡(jiǎn)短的代碼編寫(xiě),實(shí)現(xiàn)系統(tǒng)構(gòu)建,經(jīng)過(guò)測(cè)試,系統(tǒng)各個(gè)功能模塊都能正常運(yùn)行,能夠提供注冊(cè)到平臺(tái)的用戶(hù)發(fā)布文章的權(quán)限,其中,發(fā)布文章頁(yè)面使用插件,使鏈接,圖片等都不會(huì)失效或錯(cuò)位。使用Django開(kāi)發(fā)綜合型博客平臺(tái),設(shè)計(jì)系統(tǒng)角色,著手系統(tǒng)部署等,從實(shí)踐中掌握技術(shù)的使用,理解接口如何編寫(xiě)等,便是開(kāi)發(fā)此系統(tǒng)的意義所在,同時(shí),此系統(tǒng)可供學(xué)術(shù)交流的目的。

參考文獻(xiàn):

[1] 王啟明, 羅從良. Python3.6零基礎(chǔ)入門(mén)與實(shí)戰(zhàn)[M]. 北京: 清華大學(xué)出版社,2018.

[2] 劉長(zhǎng)龍. Python高效開(kāi)發(fā)實(shí)戰(zhàn)[M]. 北京: 電子工業(yè)出版社,2016.

[3] 王珊, 薩師煊. 數(shù)據(jù)庫(kù)系統(tǒng)概論[M]. 5版. 北京: 高等教育出版社, 2014(9): 130-185.

[4] Anany Levitin.算法設(shè)計(jì)與分析基礎(chǔ)[M]. 3版. 潘彥, 譯. 北京: 清華大學(xué)出版社, 2015.

[5] 王友釗, 黃靜. Django開(kāi)發(fā)寶典[M]. 北京: 清華大學(xué)出版社,2017.

【通聯(lián)編輯:謝媛媛】

猜你喜歡
爬蟲(chóng)博客系統(tǒng)
利用網(wǎng)絡(luò)爬蟲(chóng)技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說(shuō)
Smartflower POP 一體式光伏系統(tǒng)
基于Python的網(wǎng)絡(luò)爬蟲(chóng)和反爬蟲(chóng)技術(shù)研究
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
利用爬蟲(chóng)技術(shù)的Geo-Gnutel la VANET流量采集
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲(chóng)技術(shù)
電子制作(2017年9期)2017-04-17 03:00:46
博客天下
博客天下(2015年2期)2015-09-15 14:12:57
博客相冊(cè)
博客天下(2009年12期)2009-08-21 07:35:10
翁牛特旗| 隆化县| 陵川县| 龙州县| 黄冈市| 汤原县| 漾濞| 新宁县| 徐水县| 赫章县| 广平县| 莆田市| 城固县| 祁阳县| 彰化县| 盱眙县| 富民县| 青川县| 陵水| 洛川县| 宜良县| 呈贡县| 凯里市| 大悟县| 伊金霍洛旗| 蕲春县| 泗阳县| 汾阳市| 丁青县| 江安县| 英山县| 抚州市| 梅河口市| 颍上县| 吉木萨尔县| 云浮市| 龙海市| 蕲春县| 望谟县| 察隅县| 古浪县|