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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jì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鏈家二手房數(shù)據(jù)采集與可視化7.3.1頁面分析根據(jù)前面的任務(wù)描述,可以知道本爬蟲案例的具體需求,包括技術(shù)需求和數(shù)據(jù)需求,這是第一步。接下來將對頁面結(jié)構(gòu)和內(nèi)容進(jìn)行深度地分析,目的是為了找到鏈家二手房網(wǎng)頁中跟具體需求相關(guān)的業(yè)務(wù)邏輯和業(yè)務(wù)數(shù)據(jù)。如圖7-3所示,該頁面能夠清楚地定位到二手房的相關(guān)信息,包括地區(qū)、戶型、面積、裝修類型、樓層、房屋類型、售價等信息。因此,該爬蟲綜合案例使用的URL將是這個擁有二手房相關(guān)信息的頁面。圖7-3鏈家二手房網(wǎng)頁數(shù)據(jù)使用鼠標(biāo)右鍵單擊頁面的房屋位置之后(比如“松樹橋”),將出現(xiàn)如下菜單選項,如圖7-4所示。通過使用鼠標(biāo)左鍵單擊該菜單選項中的“檢查”選項,Chrome瀏覽器呈現(xiàn)自帶的“開發(fā)者工具”,并將焦點指向該“松樹橋”鏈接控件所在的具體的HTML頁面結(jié)構(gòu)當(dāng)中。這里的目的是為了獲取該“松樹橋”鏈接控件所屬的標(biāo)簽在頁面內(nèi)容中的class屬性值“positionInfo”,如圖7-5所示。圖7-4鼠標(biāo)右鍵單擊“松樹橋”鏈接控件的菜單選項圖7-5獲取“松樹橋”鏈接控件所屬標(biāo)簽的class值到此,根據(jù)任務(wù)需求,通過使用CHROME瀏覽器訪問并分析了鏈家二手房網(wǎng)站的“松樹橋”鏈接控件在該頁面中的具體位置,狀態(tài)及其class屬性值,為下一步使用代碼的編寫找準(zhǔn)了目標(biāo)?!八蓸錁颉笔嵌址康奈恢眯畔?,由于其是鏈接控件,通過右鍵點擊“檢查”可以找到具體位置。但二手房的戶型、房價等信息不是控件,無法通過右鍵點擊“檢查”進(jìn)行定位。為了定位二手房的其他信息,可以使用CHROME瀏覽器的“開發(fā)者工具”的搜索功能進(jìn)行定位。比如需要定位二手房的房價信息,如圖7-6所示,在搜索欄中輸入“115”,可以定位房價信息的所在位置。圖7-6房價信息所在頁面位置因此,進(jìn)一步獲取房價所屬的標(biāo)簽在頁面內(nèi)容中的class屬性值“totalPricetotalPrice2”,如圖7-7所示。二手房的戶型、面積、裝修類型、樓層、房屋類型、均價等其他信息可以通過同樣的方法搜索從而定位到準(zhǔn)確的位置,獲取相應(yīng)的class值。圖7-7獲取房價所屬標(biāo)簽的class值數(shù)據(jù)安全不僅包括公民個人的數(shù)據(jù)安全,還包括企業(yè)和政府的數(shù)據(jù)安全。公民數(shù)據(jù)安全涉及個人隱私和生命安全,企業(yè)數(shù)據(jù)安全涉及商業(yè)秘密和企業(yè)權(quán)益,政府?dāng)?shù)據(jù)安全涉及國家秘密和公共利益,任何一個方面的數(shù)據(jù)安全問題處理不好,都會影響到政治安全、社會穩(wěn)定、國家興衰。數(shù)據(jù)安全法的實施,將有助于進(jìn)一步提升國家數(shù)據(jù)安全保障能力,有助于加強我國應(yīng)對因數(shù)據(jù)引發(fā)的國家安全風(fēng)險與挑戰(zhàn),有助于維護(hù)國家主權(quán)、安全和發(fā)展利益。數(shù)據(jù)采集為全面數(shù)據(jù)安全管理提供數(shù)據(jù)支撐。數(shù)據(jù)采集作為數(shù)據(jù)安全建設(shè)的第一步,需將分布在各業(yè)務(wù)系統(tǒng)中的用戶行為數(shù)據(jù)、業(yè)務(wù)支撐數(shù)據(jù)、安全事件等數(shù)據(jù)信息進(jìn)行采集、存儲,為后續(xù)的數(shù)據(jù)審計、分析、挖掘以及安全運營等提供數(shù)據(jù)支撐。因此,構(gòu)建以大數(shù)據(jù)技術(shù)為基礎(chǔ)的數(shù)據(jù)采集系統(tǒng)勢在必行,成為各企業(yè)的共同選擇。7.2.2數(shù)據(jù)獲取在對鏈家二手房網(wǎng)頁進(jìn)行分析之后,現(xiàn)在來獲取鏈家二手房網(wǎng)頁中地區(qū)(region)、戶型(house_type)、面積(area_list)、裝修類型(decorate_type)、樓層(floor_type)、房屋類型(building_type)、售價(total_price)、單價(avg_price)的靜態(tài)數(shù)據(jù)。在對頁面進(jìn)行了分析之后,現(xiàn)在就可以開始使用requests庫編寫自定義的爬蟲代碼對該部分的靜態(tài)數(shù)據(jù)直接進(jìn)行獲取了。1)導(dǎo)入爬蟲代碼需要使用的requests庫用于獲取URL的頁面響應(yīng)數(shù)據(jù),實現(xiàn)數(shù)據(jù)的精確定位和操作。importrequests2)構(gòu)造爬蟲代碼請求該URL的Headers頭部信息。在開發(fā)者工具的“Network”選項卡下的“Headers”選項卡中得到該默認(rèn)URL的Headers頭部信息。其目的是向智通人才網(wǎng)的后臺服務(wù)器隱藏爬蟲代碼的真實身份,讓爬蟲代碼帶著這些請求信息偽裝成瀏覽器正常訪問該網(wǎng)站服務(wù)器的狀態(tài),而不被服務(wù)器的反爬措施發(fā)現(xiàn)。headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/74.0.3729.108Safari/537.36'}3)聲明變量url用于獲取指定的爬取的URL。這里將鏈家二手房頁面的URL賦值給url。url='cq.lianjia/ershoufang/#d#'temp_url=url.replace("#d#",f"pg{idx}")4)聲明變量response用于獲取requests庫的get方法從上一步指定的url和headers中獲取的頁面響應(yīng)數(shù)據(jù)。

response=requests.get(url,headers=headers)5)使用BeautifulSoup庫解析頁面,進(jìn)一步精確獲取相應(yīng)的class值。soup=BeautifulSoup(response.text,"html.parser")lis=soup.find('ul',class_='sellListContent')6)使用for循環(huán)語句遍歷各個<div>標(biāo)簽以獲取所有<div>標(biāo)簽中相應(yīng)class值的靜態(tài)數(shù)據(jù),包括:地區(qū)(region)、戶型(house_type)、面積(area_list)、裝修類型(decorate_type)、樓層(floor_type)、房屋類型(building_type)、售價(total_price)、單價(avg_price)的數(shù)據(jù)。通過分析<div>的結(jié)構(gòu)和內(nèi)容后可以發(fā)現(xiàn),任務(wù)所需要的數(shù)據(jù)均位于各自<div>標(biāo)簽中的不同位置。因此,這里需要獲取每一個<div>標(biāo)簽中的指定class的內(nèi)容。以房屋信息為例,需要獲取class值為'houseInfo'的內(nèi)容,即“2室1廳|87.76平米|南|精裝|中樓層(共32層)|2008年建|塔樓”,如圖7-8所示。圖7-8獲取class值為'houseInfo'中的指定內(nèi)容由于'houseInfo'中整合了戶型、面積、裝修類型、樓層、房屋類型等信息,需要對該信息進(jìn)行進(jìn)一步分離,從而得到單獨的數(shù)據(jù)。'houseInfo'爬取代碼如下。二手房的地區(qū)、售價及均價等信息可以通過同樣的方法可以爬取相應(yīng)的數(shù)據(jù)。具體代碼見完整代碼。到此,通過使用requests庫和BeautifulSoup庫編寫自定義爬蟲代碼實現(xiàn)了對鏈家二手房頁面的靜態(tài)數(shù)據(jù)的獲取。xxs=lis.find_all('div',class_='houseInfo')#print(type(xxs))forainxxs:#list1=[]xx=a.text.replace('','').replace('(','_').replace(')','').split('|')#print(xx)#area_list.append

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論