日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python爬取(天地图·武汉\智慧武汉时空信息云平台)社区界线数据以及村子属性信息

發布時間:2024/1/1 python 84 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python爬取(天地图·武汉\智慧武汉时空信息云平台)社区界线数据以及村子属性信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

單純的獲取天地圖的一般數據是和我前面獲取高德,百度地圖的POI是一樣的,在獲得開發者權限后得到api接口,申請Keys值然后獲得你想要的POI等數據。可以參考我的博客詳解:

https://blog.csdn.net/weixin_41447267/article/details/93371697

今天我們來獲取一些沒有api接口,而是疊加到地圖上的數據。

一、分析網站

網站地址:http://www.digitalwuhan.com/map/

打開網站查看網頁源代碼,發現這是一個javascript加載的網頁,數據不再html里。

因此只能進行抓包分析。

經過分析發現數據都在下面的服務器里。

http://58.49.165.89:8010/ServiceAdapter/MAP/%E7%A4%BE%E5%8C%BA%E7%95%8C%E7%BA%BF/07769b53b5243b7d6aea9df803f471c1/identify?f=json&tolerance=3&returnGeometry=true&imageDisplay=400%2C400%2C96&geometry=%7B%22x%22%3A114.25133544921195%2C%22y%22%3A31.33576538092775%7D&geometryType=esriGeometryPoint&sr=4490&mapExtent=113.25157958973799%2C29.836131591716807%2C117.47032959015559%2C31.61317016611146&layers=all%3A0&callback=dojo.io.script.jsonp_dojoIoScript3._jsonpCallback

分析得到參數geometry和mapExtent是變量。

因此改變表單上面兩個參數的值就可以得到全部的數據了。

二、思路

由于分析知道是AJax異步加載數據,我首先想到的就是selenium或splash模擬瀏覽器操作,在經過不斷的嘗試下,發現沒必要而且很復雜,發現模擬鼠標在屏幕上自動的移動上萬次,還是有點兒詭異。于是就直接獲取。首先想到從底圖的左上角逐步移動的方法獲取數據,但是這么的想法不是不行,其在遍歷的時候次數會成幾何倍數增加,對于這么龐大的數據來說這個可能得爬幾天,而且在中間如果有凹凸的地方會遺漏數據的,所以這個方法不可靠,服務器也不能接受這么多次的訪問。那么多種想法過后,最終是以將邊緣地區的經緯坐標得到再遍歷,如此會減少遍歷次數,減小服務器壓力。

三、代碼

廢話少說,附上代碼一目了然。

from urllib.parse import urlencode import requests import json import timedef __spider__(dat):headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"}xx=dat["x"]while True:time.sleep(1)#休息1s,減慢爬取速度,為服務器減小壓力params = {'f': 'json','tolerance': '3','returnGeometry': 'true','imageDisplay': '400,400,96','geometry': "{'x': " + str(xx)+ ", 'y':" + str(dat["y"]) + "}",#爬取社區村的,鼠標停留的坐標'geometryType': 'esriGeometryPoint','sr': '4490','mapExtent': '113.69637983261839,29.971009545533356,115.07679084787873,31.3607736095515',#武漢市的外接矩形的兩點坐標'layers': 'all:0',}url = "http://58.49.165.89:8010/ServiceAdapter/MAP/%E7%A4%BE%E5%8C%BA%E7%95%8C%E7%BA%BF/07769b53b5243b7d6aea9df803f471c1/identify?" + urlencode(params)r = requests.get(url, headers=headers)txt = r.textgo = len(txt)if go < 15:#跳出沒有數據的部分breakdata = json.loads(txt)#以json格式讀取數據num = len(data["results"])for i in range(0, num):if (data["results"][i]["attributes"]["SSSQ"] not in fh):print(xx,":",data["results"][i]) ’’’用fh列表來記錄每一項已有的數據,借此來去除冗余數據’’’fh.append(data["results"][i]["attributes"]["SSSQ"])file.write(str(data["results"][i]))#寫入為txt文本file.write('\n')xx=xx+0.005#每隔0.005度經度獲取相應的數據t = len(fh)print(t) if __name__ == '__main__':f = open("D:\Python_DATA/tianditu/edges.txt", "r")#武漢市邊緣處每個村內的任一一點經緯度坐標file = open("D:\Python_DATA/tianditu/tianditudata.txt", "a", encoding="utf-8")fh = []while True:lon_lat = f.readline()if not lon_lat:breaklon_lat = str(lon_lat)dat = json.loads(lon_lat)__spider__(dat)file.close()f.close()

四、部分數據結果展示

五、總結

在爬取這個天地圖網站的時候,遇到了很多問題。首先在抓包分析的時候找出數據的藏身之處就費了一番時間。然后憑著自己的經驗來判斷以為這種抓包分析得到的url都是有極大的規律的,所以在自己這樣的認識下,下了一番功夫才發現,它卻是無律可循的,每一個params表單里的geometry都是獨立的參數,所以一直想在這上面有所突破,但是最后發現沒有規律后就只能放棄這條思路了。而后我想從整個切片地圖的每個像素所對應的經緯坐標來下手,如此遍歷下去,將有數據的保存下來,然而這也是不太現實的,畢竟那樣遍歷的次數將大大增加,造成對方服務器不響應,所以也放棄這條路。最后想到可以跳過訪問沒有數據的行為,但是這樣少了訪問空白數據處的訪問次數,但是在有數據的地方對其會重復訪問多次,這樣服務器也會不耐煩的,所以也不是很好。最后我用了一個比較笨的方法,就是在武漢市市界內橫方離散順序的取一些點坐標,縱向的取一些點坐標,然后這樣既減少了遍歷訪問的次數,也不會造成數據的缺失,是一個比較可行的算法。


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 誠長ing? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2019.8.28


數據和源代碼:

鏈接:https://pan.baidu.com/s/1SYB4LUnqX0uGvGFqbyLsOQ?

提取碼:33nz?

總結

以上是生活随笔為你收集整理的Python爬取(天地图·武汉\智慧武汉时空信息云平台)社区界线数据以及村子属性信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一级激情视频 | 国产高潮流白浆喷水视频 | 久久久久亚洲av成人网人人软件 | 欧美bbbbb性bbbbb视频 | 在线观看日本一区 | 中文字幕爱爱 | 国产精品高潮呻吟视频 | 欧美大片在线 | 虫族全黄h全肉污文 | 无码粉嫩虎白一线天在线观看 | 亚州av成人 | 尤物在线观看视频 | 四季av一区二区凹凸精品 | 东京干手机福利视频 | 伊人久久九 | 日韩成人三级 | 热热av| 人妻精品一区一区三区蜜桃91 | av老司机在线 | 国产奶头好大揉着好爽视频 | www.日韩欧美| 韩国三级与黑人 | 久久精品国产亚洲AV无码男同 | 亚洲欧美中文日韩在线v日本 | 中文字幕av免费 | 黄色片18 | 欧美大奶在线 | 用力挺进新婚白嫩少妇 | 国产91啪 | 国模无码视频一区二区三区 | 在线视频一区二区三区 | 国产黄色在线免费观看 | 成人免费看毛片 | 风间ゆみ大战黑人 | 四虎影音先锋 | 综合久久久久综合 | 粉嫩在线 | 亚洲精品国产精品国 | 欧美日韩成人一区二区三区 | 嫩草视屏 | 国产人与禽zoz0性伦 | 伦理片久久 | 小妹色播影院 | 亚洲国产欧美一区 | 黄视频在线播放 | 制服丝袜在线视频 | 欧美a∨亚洲欧美亚洲 | 色老头网址| 久久久久久网站 | 久久叉 | 凹凸日日摸日日碰夜夜 | 国产在线观看成人 | 国产第8页 | av在线资源观看 | 呦呦av | 国产一区二区观看 | 亚洲a∨无码无在线观看 | 日韩午夜精品视频 | 性色一区二区 | 豆花av在线 | 国产欧美在线看 | 中文字幕在线观看免费 | 在线观看第一页 | 毛片视频网站 | 长篇乱肉合集乱500小说日本 | 国产中文字幕一区二区 | 日美一级片 | 国产区免费观看 | 久久国产柳州莫菁门 | 黄色片网站大全 | 手机午夜视频 | 污漫在线观看 | 日韩乱码人妻无码中文字幕 | 黄色成人免费视频 | 日韩大片一区二区 | 日本超碰 | 日韩精品久久久久久久电影99爱 | 青青草免费在线视频 | 国产又爽又黄无码无遮挡在线观看 | 少妇被按摩师摸高潮了 | 国产欧美自拍 | 亚洲综合第一区 | 荒野求生21天去码版网站 | 美女脱光内衣内裤 | 午夜少妇影院 | 国产精品日韩精品 | 中国国产黄色片 | 天天干精品 | 操亚洲| 欧美老肥婆性猛交视频 | 二区影院| 欧美天天性 | 亚洲资源在线观看 | 黄频在线| 一区二区三区日韩在线 | 午夜怡红院 | 日韩视频免费观看高清完整版在线观看 | 日韩午夜激情 | 欧美特级黄 |