背景
本文是《大數據分析01——成都二手房(平均價格)》的續集,前一篇文章中咱們學習瞭如何使用爬蟲獲取數據,以及查看各個區域的平均價格作個大概的瞭解。
可是存在2個問題:
(1)爬蟲爬取了大量重複的數據,影響了分析結果
(2)沒有幫助用戶定位到本身滿意的房源
本文將詳細講解如何解決這2個問題。segmentfault
數據去重
解決的思路來子我本身提的問題爬蟲如何去重,感興趣的朋友能夠過去看看。根據你們的建議我去從新學習scrapy的框架:
框架
Scrapy運行流程大概以下:scrapy
首先,引擎(engine)從調度器(Scheduler)中取出一個連接(URL)用於接下來的抓取
引擎把URL封裝成一個請求傳給下載器(Donwloader),下載器把資源下載下來,並封裝成應答包(Response)
而後,爬蟲解析Response
如果解析出實體(Item),則交給實體管道(Pipeline)進行進一步的處理。
如果解析出的是連接(URL),則把URL交給Scheduler等待抓取。學習
這個Scheduler的中間件不就負責URL的去重嗎,而後我去掉request這個模塊,讓全部的請求都使用Scrapy.requset去發送,果真數據不會再重複了。最終我拿到了2萬多條不重複的數據,與鏈家官方提示的只相差幾百條數據,不清除是鏈家本身有重複的數據,仍是我在輸入驗證碼的時候丟失了這部分數據。後期再跟蹤吧。可是如今的數據已經能夠反應真實狀況了。大數據
定位房源
首先,我從新作了一張各個區平均房價的透視圖,你們能夠和前一篇文章的比較一下,看看重複數據vs完整數據的差異:spa
而後,咱們想知道如今你們都更關注那個區域的房源,因而我把樓盤「看房數」和"關注數"堆疊起來做爲關注度,獲得下圖:中間件
看來天府新區和高新區限購後,你們都開始看周邊的房子,好比龍泉驛,溫江,雙流。圖片
那麼究竟有哪些比較火的樓盤了,繼續把「看房數」和"關注數"加起來,而後對「看房數」和"關注數"大於200的作個過濾(這裏的price是總價):
ip
恰好公司一位同事也準備買房子,他想在雙流買一套二的,價格在60-90w,咱們利用他給的條件加上「熱度」,我過濾出下面數據:資源
最後,看看咱們的數據都集中在哪些地區吧,這裏度量咱們用的平均價格,對應圖標,越紅表示價格越高,樓盤越多:
謝謝觀看,以爲不錯的朋友點個讚唄。