Python3爬蟲 利用百度地圖api得到城市經緯度


有2種方式,第一種是利用urllib ,

方法1:利用urllib , 先把url 轉成urlcode,然后讀取網頁,讀到網頁再用json讀取內容,比較麻煩。

 

可以在瀏覽器輸入,看一下格式。

http://api.map.baidu.com/geocoder?key=f247cdb592eb43ebac6ccd27f796e2d2&output=json&address=北京市

2.將查詢轉換為urlcode

讀取網頁內容:

 讀取json數據:

 程序:

復制代碼
 1 from urllib import parse
 2 query = {
 3  'key' : 'f247cdb592eb43ebac6ccd27f796e2d2',
 4  'address': '北京市',
 5  'output':'json',
 6   }
 7 base = 'http://api.map.baidu.com/geocoder?'
 8 url = base+parse.urlencode(query)
 9 
10 import urllib.request
11 doc = urllib.request.urlopen(url)
12 s = doc.read().decode('utf-8')  #一定要解碼!!!!
13 import json
14 jsonData = json.loads(s)
15 lat=jsonData['result']['location']['lat']
16 lng =jsonData['result']['location']['lng']
復制代碼

 

 

方法二:利用request模塊,更加簡單。

 

程序:

 

1 address = '北京市'
2 url= 'http://api.map.baidu.com/geocoder?output=json&key=f247cdb592eb43ebac6ccd27f796e2d2&address='+str(address)
3 response = requests.get(url)
4 answer = response.json()
5 lon = float(answer['result']['location']['lng'])
6 lat = float(answer['result']['location']['lat'])

 參考:

http://www.cnblogs.com/GuoYaxiang/p/6232831.html

http://www.cnblogs.com/Lands-ljk/p/5447127.html

http://blog.csdn.net/dove1980/article/details/7929693

 http://blog.csdn.net/lanchunhui/article/details/51207696


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM