在爬取到小區名稱、房屋均價、物業類型、物業費、總建面積、總戶數、建造年代、停車位、容積率、綠化率、開發商、物業公司等標簽后,還有一項重要內容,就是小區的位置。通常來說,房屋租售網站頁面上顯示的地圖都是來源于百度或者高德地圖,開發者需要做的就是在網頁代碼中調用地圖的時候輸入社區的經緯度,因此我們可以通過網頁源代碼爬取出社區的經緯度。另外一個經驗是,大部分開發者在編寫網頁時選擇表示經緯度的方式都是“latitude、longitude”“lat、lng”或者“lat、lon”組合,如果在網頁源代碼中搜索不到這幾個標簽組合的話,還可以以社區所在地的坐標進行搜索。例如深圳的經度在東經113°,搜索“113.”,可以看到
找到小區的坐標后,依照上一步前后截取標簽的方法,從源代碼中截取經緯度。此處在截取經度值時,其前段字符串中包含的緯度并非固定值,因此需要將緯度值設為變量。
設置好標簽選項后,可以在火車采集器中測試采集效果。此處仍以深云村為例,粘貼該網頁的網址后點擊測試,可以看到結果為:
3. 制作模板,保存爬取內容
火車采集器允許用戶將爬取到的內容發布到指定的網站、數據庫或自行存儲。在這一步驟中,將介紹模板制作,以csv文件格式存儲爬取到的內容。火車采集器在安裝時自帶了一個默認模板,模板路徑在軟件安裝路徑下的“\火車采集器V8\System\FileTemplate\默認csv模版.csv”,可以復制一份模板出來進行編輯。用記事本打開csv格式的模板文件
接下來需要做的就是將第2章中的標簽名稱替換進文檔中。此處要特別注意的是,模板中的方括號“[”“]”和逗號“,”都需要使用英文格式。編輯后的結果如圖所示
在火車采集器的“第三步:發布內容設置”標簽下,選擇“啟用:方式二”,設定保存文件格式、保存文件位置,文件模板選擇上圖剛剛編輯好的模板,并命名文件名
保存后,選擇任務并點擊“開始”,火車采集器便開始爬取數據。
為避免過量爬取數據引發網站的反爬措施,因此此處只爬取南山區前3頁的數據。
爬取到的數據文件如下
在office2016及以上版本的Excel中,通過PowerMap功能可以以經緯度為坐標將數據落點在地圖上。
在Excel中將文件另存為xlsx格式后,點擊插入-三維地圖
在三維地圖中,將位置選擇為經度和緯度,高度選擇為均價,顯示效果如圖
也可將可視化效果改為熱力圖
該方法僅能針對少量數據爬取。大量數據爬取會給網站服務器帶來過高壓力,激發網站的反爬措施,因此此處也僅爬取了90條數據。而需要爬取大量數據時,則需要保存網頁Cookie、變更IP等多種方式。
(附深圳全市小區二手房均價圖)