大數(shù)據(jù)采集與預(yù)處理課件:數(shù)據(jù)采集與可視化綜合案例 -2_第1頁
大數(shù)據(jù)采集與預(yù)處理課件:數(shù)據(jù)采集與可視化綜合案例 -2_第2頁
大數(shù)據(jù)采集與預(yù)處理課件:數(shù)據(jù)采集與可視化綜合案例 -2_第3頁
大數(shù)據(jù)采集與預(yù)處理課件:數(shù)據(jù)采集與可視化綜合案例 -2_第4頁
大數(shù)據(jù)采集與預(yù)處理課件:數(shù)據(jù)采集與可視化綜合案例 -2_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)采集與可視化案例 本章學(xué)習(xí)目標(biāo)●分析鏈家二手房的網(wǎng)頁結(jié)構(gòu)和內(nèi)容●使用requests庫編寫爬蟲代碼獲取指定數(shù)據(jù)●使用BeautifulSoup實現(xiàn)數(shù)據(jù)的解析●使用pymysql庫實現(xiàn)數(shù)據(jù)的持久化●使用flask和echarts實現(xiàn)數(shù)據(jù)可視化7.3.3數(shù)據(jù)持久化保存前面已經(jīng)通過爬蟲實現(xiàn)鏈家二手房數(shù)據(jù)獲取,但是這些數(shù)據(jù)都只是存儲在內(nèi)存之中,并沒有對其規(guī)范化和持久化的管理。因此,為了能夠讓數(shù)據(jù)結(jié)構(gòu)化,使數(shù)據(jù)之間具有聯(lián)系,從而更好地面向整個系統(tǒng),同時提高數(shù)據(jù)的共享性、擴展性和獨立性,降低冗余度,這里將使用DBMS對其統(tǒng)一管理和控制。這里將使用MYSQL數(shù)據(jù)庫管理系統(tǒng)。請務(wù)必提前安裝好MYSQL數(shù)據(jù)庫管理系統(tǒng),本案例使用的是NavicatPremium數(shù)據(jù)管理工具。1.數(shù)據(jù)持久化保存通過調(diào)用pymysql模塊,使用Python語言實現(xiàn)連接和操作MYSQL數(shù)據(jù)庫管理系統(tǒng)NavicatPremium中指定的數(shù)據(jù)庫和表的創(chuàng)建和插入操作,以下七步詳細(xì)介紹了數(shù)據(jù)持久化的主要過程。1)導(dǎo)入pymysql模塊用于在Python中連接和操作MYSQL數(shù)據(jù)庫管理系統(tǒng)。importpymysql2)使用pymysql的connect()方法,通過傳入指定的參數(shù)實現(xiàn)對MYSQL數(shù)據(jù)庫管理系統(tǒng)的登錄和具體數(shù)據(jù)庫的連接操作。這里的參數(shù)分別是:host表示將要連接的設(shè)備地址,localhost表示本機。user和password表示登錄到MYSQL數(shù)據(jù)庫管理系統(tǒng)的賬號和密碼。port表示登錄到該數(shù)據(jù)庫管理系統(tǒng)過程中使用的端口號,這里是3306。db表示在該數(shù)據(jù)庫管理系統(tǒng)中已經(jīng)存在的數(shù)據(jù)庫。這里需要先在NavicatPremium中創(chuàng)建該數(shù)據(jù)庫。最后,將該方法的返回值返回給變量db。db=pymysql.connect(host='localhost',user='root',password='xxxx',port=3306,db='test')3)使用cursor()方法是實現(xiàn)對數(shù)據(jù)庫db執(zhí)行SQL操作的基礎(chǔ)。cursor=db.cursor()4)聲明變量sql用于接收以字符串形式編寫的SQL語句。該SQL語句的含義是:使用CREATETABLE命令創(chuàng)建一個名為lianjia的數(shù)據(jù)表。該表中包含region、house_type、area_list、decorate_type、floor_type、building_type、total_price、avg_price共八個字段。這八個字段正好用于接收前面對應(yīng)的二手房數(shù)據(jù)信息。sql="""CREATETABLE`lianjia`(`id`int(10)NOTNULLAUTO_INCREMENT,`region`char(20)NOTNULL,`house_type`char(20)NOTNULL,`area_list`char(20)DEFAULTNULL,`decorate_type`char(20)DEFAULTNULL,`floor_type`char(20)DEFAULTNULL,`building_type`char(20)DEFAULTNULL,`total_price`char(20)DEFAULTNULL,`avg_price`char(20)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4;"""5)使用execute()方法實現(xiàn)上面的SQL語句。在NavicatPremium中的test數(shù)據(jù)庫中創(chuàng)建該數(shù)據(jù)表。cursor.execute(sql)6)使用SQL的INSERTINTO命令向指定的數(shù)據(jù)表lianjia中的指定的字段region、house_type、area_list、decorate_type、floor_type、building_type、total_price、avg_price中插入數(shù)據(jù)。cursor.execute("INSERTINTOlianjiaVALUES(%s,%s,%s,%s,%s,%s,%s,%s)",(region,house_type,area_list,decorate_type,floor_type,building_type,total_price,avg_price))到此,通過使用pymysql模塊成功地實現(xiàn)了Python連接MYSQL數(shù)據(jù)庫管理系統(tǒng)。在MYSQL數(shù)據(jù)庫管理系統(tǒng)的test數(shù)據(jù)庫中情況,如圖7-9所示。圖7-9數(shù)據(jù)持久化保存為了直觀的了解爬取的數(shù)據(jù),利用flask和echarts技術(shù)對數(shù)據(jù)進行可視化處理。1)使用flask技術(shù)生成一個可視化模板頁面,并從數(shù)據(jù)庫中讀取相應(yīng)的數(shù)據(jù),結(jié)合ECharts生成的不同的圖形,呈現(xiàn)豐富的可視化效果。如圖7-10所示。圖7-10的四種圖形分別是折線圖、餅圖、條形圖及表格數(shù)據(jù),均以動態(tài)數(shù)據(jù)呈現(xiàn)。7.3.4數(shù)據(jù)可視化圖7-10可視化界面在line1.js中,echarts生成折線圖。如圖7-11所示。圖7-11折線圖在pie1.js中,echarts生

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論