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