摘要
時代在飛速進步,每個行業都在努力發展現在先進技術,通過這些先進的技術來提高自己的水平和優勢,各品牌手機銷量數據可視化分析系統當然不能排除在外。基于大數據的各品牌手機銷量數據可視化分析系統是在實際應用和軟件工程的開發原理之上,運用Python語言、爬蟲技術以及Django框架進行開發,可以讓用戶實現在線進行瀏覽手機信息、手機資訊、管理個人信息等操作。在系統開發之前首先要進行需求分析,分析出基于大數據的各品牌手機銷量數據可視化分析系統的主要功能,然后設計了系統結構。整體設計包括系統的功能、系統總體結構、系統數據結構和對系統安全性進行設計;最后要對系統進行測試,還要對測試的結果進行總結和分析,為以后系統的維護提供方便,也為以后類似系統的開發提供參考和幫助。這種個性化的網絡系統管理更重視相互協調和管理合作,能激發管理者的創造性和主動性,這對各品牌手機銷量數據可視化分析的管理來說非常有益。
緒 論
1.1 課題的研究背景 基于大數據的各品牌手機銷量數據可視化分析系統主要通過計算機網絡,對所需的信息進行統一管理,方便用戶隨時隨地瀏覽手機信息,管理員可以點擊數據爬取的按鈕,一鍵獲得手機信息料及各品牌手機銷售數據,減少了新增時輸入的時間和繁瑣程序。本系統極大的促進了系統與數據庫管理系統軟件之間的配合,滿足了絕大部分用戶的需求,給用戶帶來了很大的便利。以現在計算機的技術的應用,使計算機成為人們使用現代發達技術的橋梁。計算機可以有效的解決信息,十分方便的獲取信息,從而提高工作的效率。
1.2 課題研究目的 全球經濟在快速的發展,中國更是進步飛速,這使得國內的互聯網技術進入了發展的高峰時期,這讓中外資本不斷轉向互聯網這個大市場。在這個信息高度發達的現在,利用網絡進行信息管理改革已經成為了人們追捧的一種趨勢。“基于大數據的各品牌手機銷量數據可視化分析系統”是運用Python語言、爬蟲技術、數據可視化技術和Django框架,以MySQL數據庫為基礎而發出來的。可以實現用戶在線進行瀏覽手機信息,手機資訊等。為保證我國經濟的持續性發展,必須要讓互聯網信息時代在我國日益壯大,蓬勃發展。伴隨著信息社會的飛速發展,基于大數據的各品牌手機銷量數據可視化分析系統所面臨的問題也一個接一個的出現,所以現在最該解決的問題就是信息的實時查詢和訪問需求的問題,以及如何利用快捷便利的方式讓訪問者在廣大信息系統中進行查詢、分享、儲存和管理。這對我們的現實生活中具有非常重要的意義,所以基于大數據的各品牌手機銷量數據可視化分析系統誕生了。
1.3 課題的研究意義 大數據時代已經到來,網絡爬蟲技術已成為這個時代不可或缺的一項技術,企業需要數據來分析用戶行為、產品的不足之處以及競爭對手的信息等,而這一切的首要條件就是數據的采集。在互聯網社會中,數據是無價之寶,一切皆為數據,誰擁有了大量有用的數據,誰就擁有了決策的主動權。如何有效地采集并利用這些信息成了一個巨大的挑戰,而網絡爬蟲是自動采集數據的有效手段。網絡爬蟲是一種按照一定的規則,自動抓取互聯網海量信息的程序或腳本。網絡爬蟲的應用領域很廣泛,如搜索引擎、數據采集、廣告過濾、大數據分析等。本次使用Python技術加網絡爬蟲技術,可以實現管理員對手機信息的快速管理,對手機行業的發展來說,是一個非常有意義的創新。
相關技術
本基于大數據的各品牌手機銷量數據可視化分析系統的數據庫采用的是MySQL數據庫,并且選擇了Python語言、網絡爬蟲技術、數據可視化技術、和Django框架進行開發項目,在項目開發過程中,實現了系統功能模塊的安全性、實用性、穩定性、易維護和頁面簡單等特點。
2.1 Python簡介 Python是由荷蘭數學和計算機研究學會的吉多·范羅蘇姆于20世紀90年代設計的一款高級語言。Python優雅的語法和動態類型,以及解釋型語言的本質,使它成為許多領域腳本編寫和快速開發應用的首選語言。Python相比與其他高級語言,開發代碼量較小,代碼風格簡潔優雅,擁有豐富的第三方庫。Python的代碼風格導致其可讀性好,便于維護人員閱讀維護,程序更加健壯。Python能夠輕松地調用其他語言編寫的模塊,因此也被成為“膠水語言”[3]。 Python的應用場合非常廣泛,在科研領域中,可以用Python訓練人工智能模型,也可以對實驗數據進行數據分析。在生活中,Python提供了很多優秀的、開源的Web開發框架,例如Django、Flask、Pyramid、Tornado等。知乎、豆瓣網、Youtube等知名應用都是由Python為基礎進行開發的。相比于其他框架,Django有著更加豐富的插件,作為企業級框架也很好上手,適合本次開發。此次基于大數據的各品牌手機銷量數據可視化分析系統是開發一個Web應用,采用Django框架,將在下一節進行具體介紹。本次開發選用的是Python3.6.4版本。
2.2 ?Django框架 Django被官方稱之為“完美主義者框架”,只需要很少的代碼就能更快的完成一個優秀的Web應用[4]。Django采用了MTV框架模式,此模式根據MVC進行改進形成了更適于Django的設計模式。M為模型(Model)、T為模板(Template)、V為視圖(View)。下面介紹部分Django的核心與優點: (1)對象關系映射(ORM,Object-Relation-Mapping):ORM的方法論有著三個核心原則: ①簡單:以最基本的形式構建數據。 ②傳達性:數據庫結構被任何人都能理解的語言文檔化。 ③精確性:基于數據模型創建正確標準化的結構。 用于Python之中即是以Python類形式定義數據模型,類中的每一個屬性對應著數據庫中的一列。引入ORM后,無需編寫原生SQL語句,使用基于面向對象的思想去編寫類、對象、調用方法等,ORM會將其映射成SQL語句通過pymysql執行。 (2)路由配置(URLConf):Django的URL設置更加靈活優雅,看似復雜難懂,但使用的都是簡單的正則表達式,你可以隨心所欲的創造優美的、簡潔的、專業的地址。
(3)模板(Template):模板可以理解為承載數據的工具,為了將數據從視圖中分離出來,通過各種各樣的標簽來進行數據的傳輸。Django的模板融入了面向對象中繼承的思想,提高了復用減少冗余代碼。 (4)視圖(View):視圖就是views.py中的函數,也就是邏輯代碼,為了將URL和視圖關聯起來,用到了上述的URLConfs,URLConfs將URL模式映射到視圖中,每個視圖有兩件事是必須要做的:返回一個包含被請求頁面的HttpResponse對象,或者拋出一個異常。 (5)后臺管理系統(Django-Admin):Django提供的一個基于Web的管理工具。 Django-Admin來自django.contrib也就是Django的標準庫,默認被配置好,只需要激活啟用即可,它的優勢在于可以快速對數據庫的各個表進行增刪改查,一行代碼即可管理一張數據庫表,相比于手動后臺1個模型一般需要4個urls,4個視圖函數和4個模板,可以說Django完成了一個程序編寫的大部分重復工作,并且對于圖書管理這種以管理工作為重系統來說,極度契合。 (6)應用(Application):當項目規模過大時,難免會產生目錄過長,文件過多的問題,Django理念中的App可以將項目相對獨立的進行開發,插拔的工作方式和獨立性讓開發者廢棄的App即使刪除也不會影響整體,是一種不可多得的理念。 因為本次使用的Python版本為3.6.4,低版本的Django不支持Python3,故此次使用的Django版本為3.2.12。
2.3 網絡爬蟲簡介 ? 網絡爬蟲是一種很好的自動采集數據的通用手段。它主要分為4種類型,分別是:聚焦網絡爬蟲、增量抓取、表層網頁、深層網頁。 ①聚焦網絡爬蟲是“面向特定主題需求”的一種爬蟲程序,而通用網絡爬蟲則是捜索引擎抓取系統(Baidu、Google、Yahoo等)的重要組成部分,主要目的是將互聯網上的網頁下載到本地,形成一個互聯網內容的鏡像備份。 ②增量抓取意即針對某個站點的數據進行抓取,當網站的新增數據或者該站點的數據發生變化后,自動地抓取它新增的或者變化后的數據。 Web頁面按存在方式可以分為表層網頁(surface Web)和深層網頁(deep Web,也稱invisible Web pages或hidden Web)。 ③表層網頁是指傳統搜索引擎可以索引的頁面,即以超鏈接可以到達的靜態網頁為主來構成的Web頁面。 ④深層網頁是那些大部分內容不能通過靜態鏈接獲取的、隱藏在搜索表單后的,只有用戶提交一些關鍵詞才能獲得的Web頁面。 本次使用的爬蟲技術是聚焦網絡爬蟲,通過搜索引擎,抓取相關電影信息,下載到本地,形成互聯網內容的鏡像備份,提供用戶瀏覽、查看。
2.4 MySQL簡介 MySQL是一款小型關系型數據庫管理系統(Relational Database Management System),開發商為瑞典MySQLAB公司。關系型數據庫將數據存放在不同的表中,使數據更加規范化。MySQL因其體積小、速度快、源碼開放的特點,很多網站開發都將MySQL作為首選[5]。由于Python3不再支持MySQLdb模塊,此次開發采用pymysql模塊連接MySQL數據庫。 2.5小結 本章詳細的介紹了開發基于大數據的各品牌手機銷量數據可視化分析系統所需要的技術與工具,工欲善其事必先利其器,對于技術和工具了解的越多越清晰,才會在開發過程中如魚得水。
系統整體功能圖
用戶注冊界面圖
用戶登錄界面圖
前臺功能界面圖
手機詳情界面圖
后臺登錄界面圖
管理員功能界面圖
看板界面圖
看板界面圖
部分數據庫表
字段名稱 | 類型 | 長度 | 字段說明 | 主鍵 | 默認值 |
id | bigint | 主鍵 | 主鍵 | ||
addtime | timestamp | 創建時間 | CURRENT_TIMESTAMP | ||
laiyuan | varchar | 200 | 來源 | ||
biaoti | varchar | 200 | 標題 | ||
fengmian | longtext | 4294967295 | 封面 | ||
jiage | varchar | 200 | 價格 | ||
pinpai | varchar | 200 | 品牌 | ||
spcd | varchar | 200 | 商品產地 | ||
yxnc | varchar | 200 | 運行內存 | ||
jsys | varchar | 200 | 機身顏色 | ||
jsnc | varchar | 200 | 機身內存 | ||
hszxs | varchar | 200 | 后攝主像素 | ||
fengge | varchar | 200 | 風格 |
結論
本系統是采用Python語言、爬蟲技術、數據可視化技術、Django框架構建的一個操作管理系統,選擇的數據庫是MySQL。整個過程先是通過整體的系統分析,來確定本系統的可行性是否達標。為了滿足用戶的需求以及提高管理員的工作效率,通過系統所要實現的功能分析,決定了用戶和管理員要實現的功能。之后就是精細各個模塊的具體功能,定義用戶和管理員們的權限,分割成管理員功能模塊和用戶功能模塊。之后通過系統測試來確保數據的準確性和操作的準確性,發現錯誤并立即做出了改正。 系統本身就是共享信息的存在,管理員可以發布信息來分享資源,通過加入關鍵詞檢索,讓用戶和管理員更方便的使用系統。同時通過分類以便用戶查找信息可以進一步的對號入座,極大的節省了查找信息的時間。通過加入信息的評論功能,加深了用戶與用戶之間的交流,使其構造出更良好的網絡環境。