涂遠杰 鄭劍



摘要:該博客系統是一款分享型博客,注重個人的學習心得、生活等方面的記錄。后臺基于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算法來加密的,所以大大提高了用戶賬號的安全性。雖然該系統功能基本完成,但仍然需要繼續完善。