在進行定量城市分析時(如研究某市某片區(qū)的空間分析),需要用到地理位置信息以及現(xiàn)狀設施建筑等的分布情況,這就必須獲得相關的地理坐標信息。因此數(shù)據(jù)的獲取與處理是進行定量城市分析所需的前置作業(yè),此階段的工作決定了后續(xù)分析的效度和質量。
一、使用工具
這里采集數(shù)據(jù)使用到的工具是火車頭采集器8.5。
火車頭采集器一款互聯(lián)網(wǎng)數(shù)據(jù)抓取、處理、分析,挖掘軟件,可以抓取網(wǎng)頁上散亂分布的數(shù)據(jù)信息,并通過一系列的分析處理,準確挖掘出所需數(shù)據(jù)。
特點:采集不限網(wǎng)頁,不限內容;
分布式采集系統(tǒng),提高效率;
支持PHP和C#插件擴展,方便修改處理數(shù)據(jù),但需要懂得火車頭規(guī)則或者正則表達式。
二、數(shù)據(jù)采集方式--基于百度地圖API的數(shù)據(jù)采集
? API是一些預先定義的函數(shù),目的是提供應用程序開發(fā)人員基于某軟件或硬件得以訪問一組程序的能力,而又無需訪問源碼,或理解程序內部工作機制的細節(jié)。API服務商在提供數(shù)據(jù)的同時也在收集用戶的信息,這是一個雙向過程。
百度地圖Web服務API中提供了地點檢索服務、正/逆地理編碼服務、路線規(guī)劃、批量算數(shù)、時區(qū)服務、坐標轉換服務及鷹眼軌跡服務等。其中地點檢索服務(又名Place API),提供多種場景的地點(POI)檢索功能,包括城市檢索、周邊檢索、矩形區(qū)域檢索。
以通過百度地圖API獲取綿陽市飯店數(shù)據(jù)為例。
三、數(shù)據(jù)采集步驟
1.申請百度地圖開放平臺開發(fā)者秘鑰
首先打開百度地圖開放平臺(http://lbsyun.baidu.com/index.php?title=%E9%A6%96%E9%A1%B5),點擊右上角控制臺,再點擊應用管理→我的應用→創(chuàng)建應用,申請開發(fā)者秘鑰(ak),并選擇以下服務項。




2.通過接口獲取詳細地理信息
開發(fā)者可以通過接口獲取地點(POI)基礎或詳細地地理信息。其返回的是Json類型數(shù)據(jù)(一個區(qū)域最大返回數(shù)是400,每頁最大返回數(shù)為20)。當某區(qū)域、,某類POI個數(shù)多于400時,可以選擇把該區(qū)域分成子區(qū)域進行檢索或通過矩形、圓形區(qū)域方式進行檢索查閱頁面中Place檢索格式和實例如下:
格式:http://api.map.baidu.com/place/search?&query=關鍵字&bounds=查詢區(qū)域&output=輸出格式類型&key=用戶密鑰
實例:http://api.map.baidu.com/place/search?&query=ATM機&bounds=綿陽&output=json&ak=你的密鑰?(你的秘鑰就是上一步申請得到的)
(什么是Place API詳細說明可見此網(wǎng)址https://developer.baidu.com/map/place-api.htm#.E4.BB.80.E4.B9.88.E6.98.AFPlace_API.EF.BC.9F)
其中“關鍵字”、“查詢區(qū)域”、“輸出格式類型”、“用戶秘鑰”可以根據(jù)自己的需要替換,而page_num為選填項,表示分頁碼,因為只有設置了page_num字段才會在結果頁面中返回標識總條數(shù)的total字段,方便在火車采集器中做相關設置,如下:
訪問該網(wǎng)址,返回結果如下圖:

3.用火車頭采集器采集地理信息
在火車頭軟件中,首先點擊左上角的“新建”,然后點擊“分組”進入新建界面自己命名然后保存既可。建好分組后,再點擊新建。然后點擊“任務”,命名為“百度API”。


然后在第一步--采集規(guī)則頁面,點擊“添加”鍵,在添加開始采集網(wǎng)址頁面,選擇“批量/多頁”方式獲取地址格式,在地址格式一欄中填入Place檢索鏈接,并將page_num字段用(*)標識為變量,選擇等差數(shù)量方式,在項數(shù)與返回Json結果中total字段一致,公差為1。

在訪問百度地圖API接口返回的Json網(wǎng)頁中,在需要提取信息處復制該條信息。例如復制此處獲得“name”:周肥腸(總店)”,。

在火車頭采集器第二步采集內容規(guī)則頁面,添加標簽,標簽名填入“名稱”,提取數(shù)據(jù)方式處選擇“前后截取”,在標簽編輯頁用(*)代替要采集的內容,并將要采集內容的前后內容分別填入“開始字符串”、“結束字符串處”。

經(jīng)度、緯度的獲取方式與“名稱”方式相同。


添加完成后,點擊規(guī)則測試頁面的“測試”鍵,對POI的“名稱”、“經(jīng)度”、“緯度”三種標簽進行測試,測試可以得到正確獲取信息之后,進入“第三步:發(fā)布內容設置”頁面,選擇“方式二:保存為本地Word,Excel,Html,Txt等文件”,并制作與標簽相對應的Gsv格式的模板,完成后,點擊“保存”按鈕,采集數(shù)據(jù)就完成了。

退回到主界面,在“采網(wǎng)頁”及“采內容”下打對勾,點擊開始任務,即可完成百度地圖綿陽市飯店的數(shù)據(jù)獲取。
