涂遠(yuǎn)杰 鄭劍
摘要:該博客系統(tǒng)是一款分享型博客,注重個(gè)人的學(xué)習(xí)心得、生活等方面的記錄。后臺(tái)基于Python中的Flask框架開發(fā),還涉及爬蟲,數(shù)據(jù)庫(kù)使用的是輕型的SQLite,同時(shí),前端頁(yè)面的實(shí)現(xiàn)涉及HTML、JavaScript等。系統(tǒng)角色分為游客、用戶、管理員,游客只能進(jìn)行查看操作,用戶可以發(fā)表并管理博客和評(píng)論、喜歡他人的博客,用戶還可以在個(gè)人中心編輯個(gè)人信息等操作,管理員可以對(duì)所有博客和評(píng)論等進(jìn)行增刪改查操作。博客編輯與查看使用的是富文本,涉及MarkDown語(yǔ)言。
關(guān)鍵詞:博客系統(tǒng);爬蟲;Python;Flask;HTML
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)15-0109-03
在當(dāng)今這個(gè)信息化的時(shí)代下,人們更多的是通過網(wǎng)絡(luò)來記錄自己的生活或者學(xué)習(xí)心得等方面的內(nèi)容,而該博客系統(tǒng)會(huì)是一個(gè)較好的生活分享、學(xué)術(shù)交流的平臺(tái)。該系統(tǒng)項(xiàng)目設(shè)計(jì)時(shí)確定三種系統(tǒng)角色,即游客、用戶、管理員,通過設(shè)計(jì)不同的接口來實(shí)現(xiàn)不同的功能。對(duì)于游客,只能進(jìn)行查看操作,如瀏覽首頁(yè)、查看其他用戶發(fā)布和喜歡的博客等查看操作。而對(duì)于用戶,還可以撰寫博客,管理博客,喜歡其他人的博客,發(fā)表評(píng)論等。管理員則是對(duì)整個(gè)博客系統(tǒng)進(jìn)行管理。整個(gè)系統(tǒng)是基于Pvthon中的Flask框架來實(shí)現(xiàn)的,還結(jié)合了爬蟲技術(shù),主要應(yīng)用于首頁(yè),爬取微博的熱搜榜,實(shí)時(shí)顯示熱度前十的關(guān)鍵詞鏈接。在用戶注冊(cè)方面,為避免出現(xiàn)僵尸型用戶,注冊(cè)采用的是郵箱注冊(cè),只有正確的郵箱才能進(jìn)行注冊(cè)確認(rèn),從而成功登錄系統(tǒng)。而且為保護(hù)用戶賬號(hào)安全,采用pbkdf2和sha256算法來對(duì)密碼進(jìn)行加密。在撰寫博客方面,使用的是富文本編輯器,而且為了有更好的用戶體驗(yàn),編輯博客時(shí)會(huì)有內(nèi)容效果的實(shí)時(shí)預(yù)覽。
1系統(tǒng)功能結(jié)構(gòu)的設(shè)計(jì)
1.1系統(tǒng)后臺(tái)管理端功能
如圖1所示系統(tǒng)后臺(tái)管理端具有如下功能:
1)對(duì)已注冊(cè)的用戶的信息進(jìn)行修改;
2)對(duì)所有的博客進(jìn)行修改和刪除操作;
3)對(duì)所有的評(píng)論進(jìn)行刪除操作。
1.2網(wǎng)頁(yè)用戶端的主要功能介紹
如圖2所示網(wǎng)頁(yè)用戶端具有如下功能:
1)用戶通過郵箱注冊(cè)賬號(hào),需填寫正確的郵箱以接收驗(yàn)證郵件;如果已有賬號(hào)可直接登錄,在登錄頁(yè)設(shè)有“忘記密碼”功能;
2)用戶成功登錄系統(tǒng)后,在個(gè)人中心頁(yè)面可以修改個(gè)人資料或修改密碼,還可以撰寫博客,以及管理已發(fā)表或已喜歡的博客;
3)用戶可以在首頁(yè)查看或喜歡他人發(fā)表的博客,以及評(píng)論博客,在博客詳情頁(yè)可以管理自己發(fā)表的評(píng)論,還可以在首頁(yè)瀏覽從微博爬取過來的熱搜,鏈接可點(diǎn)擊。
2系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)
2.1郵箱驗(yàn)證注冊(cè)減少僵尸型用戶
在如今繁雜的網(wǎng)絡(luò)世界中,許多社交平臺(tái)有著大量的僵尸型用戶,也就是不活躍的用戶或者虛假用戶,也存在許多的惡意注冊(cè),以達(dá)到刷點(diǎn)贊數(shù)等其他目的,從而對(duì)系統(tǒng)的真實(shí)用戶造成不良體驗(yàn)等。所以本系統(tǒng)采用郵箱驗(yàn)證注冊(cè)來減少僵尸型用戶的產(chǎn)生,注冊(cè)用戶需填寫正確且有效的郵箱,系統(tǒng)會(huì)發(fā)生一封驗(yàn)證郵件到該郵箱,驗(yàn)證郵件中攜帶著系統(tǒng)隨機(jī)產(chǎn)生的一個(gè)序列號(hào)鏈接,只有收到郵件并點(diǎn)擊鏈接才能完成驗(yàn)證,從而成功注冊(cè)。具體注冊(cè)驗(yàn)證流程如圖3所示。
3系統(tǒng)界面設(shè)計(jì)
該博客網(wǎng)站系統(tǒng)是一款分享型博客系統(tǒng),注重個(gè)人學(xué)習(xí)心得等方面的記錄,在為他人提供幫助的同時(shí),也從他人那里獲取到對(duì)自己有用的知識(shí),營(yíng)造良好的學(xué)習(xí)氛圍。
1)用戶注冊(cè)登錄模塊:用戶填寫相關(guān)信息進(jìn)行注冊(cè)并登錄,在登錄頁(yè)還設(shè)有“忘記密碼”功能。
2)首頁(yè)展示模塊:在該頁(yè)面,用戶可以瀏覽他人發(fā)表的博客,并對(duì)其進(jìn)行查看、喜歡等操作,還可以瀏覽微博實(shí)時(shí)熱點(diǎn)。
3)用戶個(gè)人中心模塊:該模塊包含個(gè)人資料、撰寫博客、管理自己發(fā)表及喜歡的博客。
4)后臺(tái)管理模塊:在該模塊管理員可以對(duì)用戶、博客、評(píng)論進(jìn)行管理。
4結(jié)束語(yǔ)
經(jīng)過測(cè)試,該系統(tǒng)各個(gè)功能模塊運(yùn)行都很穩(wěn)定。該系統(tǒng)開發(fā)使用的是Pvthon中的Flask框架,并且數(shù)據(jù)庫(kù)使用的是SQLite,兩者都是輕便型工具,所以大大縮短了代碼的編寫量。而且該系統(tǒng)數(shù)據(jù)庫(kù)保存密碼的字段使用pbkdf2和sha256算法來加密的,所以大大提高了用戶賬號(hào)的安全性。雖然該系統(tǒng)功能基本完成,但仍然需要繼續(xù)完善。