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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· 我干了两个月的大项目,开源了!
· 千万级的大表,如何做性能调优?
· 盘点!HelloGitHub 年度热门开源项目
· Phi小模型开发教程:用C#开发本地部署AI聊天工具,只需CPU,不需要GPU,3G内存就可以运行,
· 你所不知道的 C/C++ 宏知识——基于《C/C++ 宏编程的艺术》