亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Python的互聯(lián)網(wǎng)POI數(shù)據(jù)爬取

        2021-09-27 18:09:02鄧曉斌
        地理空間信息 2021年9期
        關(guān)鍵詞:電子地圖數(shù)據(jù)量南昌

        鄧曉斌

        (1.江西水利職業(yè)學(xué)院,江西 南昌 330013)

        隨著互聯(lián)網(wǎng)和移動(dòng)通信的高速發(fā)展,人們可以輕松訪問(wèn)網(wǎng)絡(luò)上的大量數(shù)據(jù),其中興趣點(diǎn)(POI)數(shù)據(jù)尤其受到大家的喜愛(ài),如在滴滴打車(chē)上可實(shí)時(shí)查詢(xún)附近的滴滴車(chē)輛POI信息,百度地圖上可查詢(xún)周邊的美食店P(guān)OI信息等。POI數(shù)據(jù)是由真實(shí)地理實(shí)體抽象成的點(diǎn),其分布與城市的經(jīng)濟(jì)活躍度呈正相關(guān),大多數(shù)分布在經(jīng)濟(jì)活躍度較高的區(qū)域[1]。由于其獲取成本低、屬性信息量大等特點(diǎn),POI數(shù)據(jù)被很多行業(yè)所采用,如曹芳潔[2]等利用POI數(shù)據(jù)研究了城市的空間結(jié)構(gòu);趙智勇[3]利用POI數(shù)據(jù)對(duì)城市的功能區(qū)位進(jìn)行了劃分;徐智邦[4]等則利用POI數(shù)據(jù)對(duì)城市道路進(jìn)行了自動(dòng)化提取。由此可見(jiàn),POI數(shù)據(jù)具有重要的實(shí)際價(jià)值,因此如何獲取POI數(shù)據(jù)成為一個(gè)重要問(wèn)題。

        Python是一種面向?qū)ο蟆⒔忉屝偷挠?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,是一種功能強(qiáng)大的通用型語(yǔ)言[5],已被廣泛應(yīng)用于圖形處理、網(wǎng)絡(luò)編程、網(wǎng)絡(luò)爬蟲(chóng)、數(shù)據(jù)分析挖掘、機(jī)器學(xué)習(xí)等領(lǐng)域。鑒于Python在網(wǎng)絡(luò)爬蟲(chóng)和數(shù)據(jù)分析方面的強(qiáng)大功能,本文采用Python對(duì)互聯(lián)網(wǎng)POI數(shù)據(jù)進(jìn)行爬取和挖掘。

        1 POI的概念

        對(duì)于POI的概念,國(guó)內(nèi)外學(xué)者給出了不同的論述,李霖[6]等認(rèn)為POI作為一種代表真實(shí)地理實(shí)體的點(diǎn)狀地理空間大數(shù)據(jù),是地理空間中具有標(biāo)志意義的地理對(duì)象;Maceachren A M[7]等則認(rèn)為POI數(shù)據(jù)集合不僅具有傳統(tǒng)大數(shù)據(jù)5V(數(shù)據(jù)量大、處理速度快、多樣性、準(zhǔn)確性、蘊(yùn)含價(jià)值)特點(diǎn),而且單體POI數(shù)據(jù)包含了實(shí)體的名稱(chēng)、經(jīng)緯度、地址、類(lèi)型、電話(huà)、行政區(qū)等信息[8];綜合國(guó)內(nèi)外的表述,本文認(rèn)為,POI是點(diǎn)狀數(shù)據(jù),具有豐富的屬性信息,廣泛地分布在互聯(lián)網(wǎng)中,是人們?nèi)粘I钪蟹浅8信d趣的一種空間 位置。

        POI以多種形式存在,最常見(jiàn)的是電子地圖上與社會(huì)經(jīng)濟(jì)密切相關(guān)的地理實(shí)體點(diǎn)要素,如圖1所示,通過(guò)百度地圖檢索出某地區(qū)的旅游景點(diǎn)POI信息。在某些情形下,POI也泛指一切受關(guān)注程度高于普通點(diǎn)要素的地理點(diǎn)[8]。互聯(lián)網(wǎng)上很多論壇、博客、社交軟件等可進(jìn)行用戶(hù)簽到,形成了多種多樣的POI數(shù)據(jù)。另外,人們?nèi)粘I钪行纬傻幕顒?dòng)軌跡也是一種POI數(shù)據(jù),如乘車(chē)GPS軌跡、手機(jī)位置定位等。

        圖1 旅游景點(diǎn) POI實(shí)例

        POI主要通過(guò)電子地圖平臺(tái)(百度地圖、高德地圖、騰訊地圖等)獲取,其數(shù)據(jù)信息量大且精度較高、更新及時(shí)。這些電子地圖的網(wǎng)站可通過(guò)檢索接口或網(wǎng)頁(yè)爬取技術(shù)獲得POI。還有一些非電子地圖的網(wǎng)站存在很多POI數(shù)據(jù),如微博、大眾點(diǎn)評(píng)網(wǎng)、美團(tuán)網(wǎng)等,同樣可通過(guò)網(wǎng)頁(yè)爬取技術(shù)獲得POI。

        2 研究方法

        本文的主要目的是通過(guò)對(duì)互聯(lián)網(wǎng)中的POI數(shù)據(jù)進(jìn)行爬取,獲得有價(jià)值的POI信息,從而為POI增值業(yè)務(wù)提供數(shù)據(jù)基礎(chǔ)。由于電子地圖是POI數(shù)據(jù)來(lái)源的重要途經(jīng),且百度地圖在人們?nèi)粘I钪械氖褂妙l率較高,因此本文選擇爬取百度地圖POI數(shù)據(jù)。

        硬件設(shè)備主要為電子計(jì)算機(jī),軟件設(shè)備主要包括Python2.7、Excel、txt記事本以及百度地圖開(kāi)放平臺(tái)。本文以百度地圖為平臺(tái),構(gòu)建百度地圖POI數(shù)據(jù)爬取框架,如圖2所示,以Excel和txt記事本數(shù)據(jù)格式輸出成果。

        圖2 基于百度地圖的POI數(shù)據(jù)爬取框架

        3 實(shí)例分析

        由于POI數(shù)據(jù)類(lèi)型眾多,不可能爬取互聯(lián)網(wǎng)上所有類(lèi)型的POI數(shù)據(jù),因此本文以爬取南昌餐館POI數(shù)據(jù)為例,根據(jù)模型框架,詳細(xì)介紹了POI數(shù)據(jù)爬取的過(guò)程。

        3.1 注冊(cè)用戶(hù)

        使用百度地圖開(kāi)放的各種功能和數(shù)據(jù)前,必須先成為百度的用戶(hù),可下載百度App進(jìn)行掃碼注冊(cè),也可采用QQ或微信等形式注冊(cè)登入。

        3.2 AK密鑰獲取

        進(jìn)入百度地圖開(kāi)放平臺(tái),登錄“控制臺(tái)”,在“應(yīng)用管理”中創(chuàng)建應(yīng)用。百度對(duì)于每個(gè)用戶(hù)的AK密鑰配額是有限度的,大多數(shù)未認(rèn)證過(guò)的用戶(hù)每天不能超過(guò)10萬(wàn)次,每min不能超過(guò)6 000次。

        3.3 POI數(shù)據(jù)爬取

        由于使用一次AK密鑰生成的URL最多能顯示 20個(gè)POI數(shù)據(jù),同時(shí)在特定的坐標(biāo)范圍內(nèi),一次只能生成20個(gè)URL,因此采用AK生成的URL頁(yè)面最多可爬取400個(gè)POI數(shù)據(jù)。如果POI數(shù)據(jù)量超過(guò)400,則需對(duì)區(qū)域進(jìn)行裁剪分割,使每個(gè)子區(qū)域的POI數(shù)據(jù)量不超過(guò)400個(gè),再分別對(duì)每個(gè)子區(qū)域進(jìn)行頁(yè)面爬取。

        3.3.1 小數(shù)據(jù)量

        在爬取POI數(shù)據(jù)量≤400的情況下,可直接在URL地址欄里輸入以下信息:http://api.map.baidu.com/place/v2/search?query=餐館®ion=南昌&page_size=20&page_num=0&output=json&ak=3kHNz4jtBc2t Ar8RMAQZAyBgEa4vWtsa,其中query代表查詢(xún)“餐館”,region代表查詢(xún)的區(qū)域?yàn)椤澳喜保?page_size代表每個(gè)頁(yè)面顯示20個(gè)POI數(shù)據(jù),page_num代表查詢(xún)的頁(yè)面,output代表輸出的數(shù)據(jù)格式為JSON,ak為密鑰。將page_num依次設(shè)置為1、2、…、19,可得到不同頁(yè)面的POI數(shù)據(jù)。該類(lèi)POI數(shù)據(jù)包含餐館名稱(chēng)、餐館位置(經(jīng)緯度)、地址、省份、城市、轄區(qū)、街道號(hào)、電話(huà)等大量重要信息。南昌餐館POI數(shù)據(jù)的JSON樣式為:

        當(dāng)把page_num設(shè)置為20時(shí)發(fā)現(xiàn),JSON文件內(nèi)容變成以下情況,里面沒(méi)有POI數(shù)據(jù),說(shuō)明用一次AK只能顯示20個(gè)頁(yè)面。

        JSON數(shù)據(jù)格式類(lèi)似于Python中的數(shù)字字典形式,因此利用Python語(yǔ)言能非常方便地將其轉(zhuǎn)換為CSV或Excel文件。利用Python語(yǔ)言將POI的JSON數(shù)據(jù)格式轉(zhuǎn)換為CSV格式的代碼為:

        南昌餐館POI數(shù)據(jù)的CSV格式如圖3所示。

        圖3 POI數(shù)據(jù)的CSV格式

        3.3.2 大數(shù)據(jù)量

        針對(duì)POI數(shù)據(jù)量超過(guò)400的情況,需將該范圍劃分為多個(gè)小區(qū)域,使每個(gè)小區(qū)域內(nèi)的POI數(shù)據(jù)量不超過(guò)400。若需要尋找百度地圖中南昌市范圍內(nèi)所有的餐館POI數(shù)據(jù),則首先需將南昌市的地理位置范圍確定下來(lái),可通過(guò)百度的坐標(biāo)拾取功能來(lái)獲得。南昌市地圖的左下角的緯度為28.163 652、經(jīng)度為115.447 208,右上角的緯度為29.127 212、經(jīng)度為116.572 405。

        從上述URL地址信息中可知bounds(相當(dāng)于 region)和page_num兩個(gè)重要變量,其中bounds={左下角緯度,左下角經(jīng)度,右上角緯度,右上角經(jīng)度},代入南昌市的范圍數(shù)據(jù)bounds={28.163 652, 115.447 208,29.127 212,116.572 405},整個(gè)南昌市包含的餐館POI超過(guò)400個(gè),因此需對(duì)該范圍進(jìn)行切割。如圖4所示,對(duì)bounds范圍進(jìn)行矩形分割,得到4個(gè)小矩形,若小矩形范圍仍過(guò)大,則需進(jìn)一步切割,以此類(lèi)推,直到每個(gè)小矩形內(nèi)的POI數(shù)據(jù)量不超過(guò)400。page_num的取值范圍為0~19。一個(gè)矩形坐標(biāo)范圍內(nèi)包含20個(gè)page_num,做一次切割就有4×20=80個(gè)page_num,每個(gè)page_num里存放20個(gè)POI,則一次切割后一共能爬取80×20=1 600個(gè)POI;若將4個(gè)小矩形再做切割,產(chǎn)生更小的矩形,則兩次切割后一共能爬取1 600×4=6 400個(gè)POI。

        圖4 地圖范圍切割

        爬取整個(gè)頁(yè)面的POI數(shù)據(jù),需要執(zhí)行多個(gè)循環(huán),Bounds=[rectangle1,rectangle2,rectangle3,rectangle4],Page_nums=[0,1,2,…,19]。其偽代碼為:

        根據(jù)上述原理,可把POI的爬取過(guò)程分為3個(gè)階段:①生成bounds列表;②生成URL列表;③將爬取的POI數(shù)據(jù)保存到txt文件。其中,生成bounds列表的完整代碼為:

        ’這段代碼生成的是矩形分割后的多個(gè)矩形范圍坐標(biāo)具體運(yùn)行結(jié)果為:

        生成bounds列表后,再對(duì)page_num從0~20進(jìn)行遍歷,即可得到URL列表,具體代碼為:

        運(yùn)行結(jié)果中的一個(gè)例子為:

        將爬取的POI數(shù)據(jù)保存到txt文件,具體代碼為:

        代碼執(zhí)行后生成的南昌餐館POI的txt文件格式如圖5所示。

        圖5 南昌餐館POI數(shù)據(jù)的txt文件格式

        4 結(jié) 語(yǔ)

        POI數(shù)據(jù)不僅具有空間位置信息,而且具有豐富的屬性信息,能為眾多行業(yè)提供數(shù)據(jù)支撐。本文詳細(xì)介紹了百度地圖中南昌餐館POI數(shù)據(jù)的爬取過(guò)程,采用功能強(qiáng)大的Python語(yǔ)言進(jìn)行開(kāi)發(fā),取得了良好效果,下一步將對(duì)爬取的數(shù)據(jù)進(jìn)行深入分析,從而挖掘出有用的商業(yè)價(jià)值。

        猜你喜歡
        電子地圖數(shù)據(jù)量南昌
        中國(guó)公豬站引種指南電子地圖
        我在南昌 你在哪
        心聲歌刊(2022年3期)2022-06-06 06:31:42
        南昌是我 南昌是你
        心聲歌刊(2022年3期)2022-06-06 06:31:42
        基于大數(shù)據(jù)量的初至層析成像算法優(yōu)化
        計(jì)算Lyapunov指數(shù)的模糊C均值聚類(lèi)小數(shù)據(jù)量法
        高刷新率不容易顯示器需求與接口標(biāo)準(zhǔn)帶寬
        寬帶信號(hào)采集與大數(shù)據(jù)量傳輸系統(tǒng)設(shè)計(jì)與研究
        電子制作(2019年13期)2020-01-14 03:15:18
        南昌護(hù)橋記
        基于Mapserver的增強(qiáng)現(xiàn)實(shí)電子地圖的設(shè)計(jì)與實(shí)現(xiàn)
        電子地圖在初中地理教學(xué)中的應(yīng)用實(shí)踐
        国产精品后入内射日本在线观看| 色婷婷久久亚洲综合看片| 一亚洲一区二区中文字幕| 自拍视频在线观看国产| 久久久久亚洲av成人片| 中文字幕爆乳julia女教师| 中字亚洲国产精品一区二区| 青青草视频免费在线播放| 久久久久免费精品国产| 久久九九国产精品怡红院| 国产爆乳无码一区二区在线| 久久天堂av综合合色| 国产亚洲视频在线播放| 日韩欧群交p片内射中文| 狠狠躁狠狠躁东京热无码专区| av免费观看在线网站| 四虎永久在线精品免费一区二区| 国产人妻人伦精品1国产盗摄| 亚洲AV肉丝网站一区二区无码 | 成人三级a视频在线观看| 樱花AV在线无码| 精品一区二区三区老熟女少妇| 久久国产劲爆∧v内射| 久久久国产打桩机| 久久aⅴ无码av免费一区| 日韩精品不卡一区二区三区| 综合色免费在线精品视频| 精品国产乱码久久久久久1区2区 | 青青草综合在线观看视频| 日本精品人妻一区二区| 亚洲日韩国产av无码无码精品| 国产又色又爽无遮挡免费动态图| 免费人成视频网站在线| 国产伦一区二区三区色一情| 亚洲男人av天堂午夜在| 99热成人精品国产免| 自拍偷区亚洲综合第一页| 亚洲av日韩av天堂久久| 欧美色欧美亚洲另类二区不卡| av免费在线观看在线观看| 蜜臀av在线观看|