python地址解析经纬度,城市
1.地址列表
1.txt
上海市普陀区梅川路299-301号
浙江省杭州市拱墅区丰登路305-311号1层
江苏省南京市鼓楼区碧树园86号101室
浙江省宁波市江北区范江岸路38弄6号-10号1层商铺
浙江省宁波市江东区福明路876-880号
浙江省宁波市江北区清湖路8号
上海市普陀区石泉路436-440号底层
浙江省宁波市海曙区民丰街176号~178号(近蓝天路)
2.调用百度地图API,解析经纬度,根据经纬度,获取城市
以下代码使用python3
import requests
import json with open("1.txt","r", encoding="utf-8") as fr:
with open("2.txt", "w", encoding="utf-8") as fw:
for line in fr.readlines():
# 去除换行符
line = line.strip('\n').replace('#',' ')
# 去除特殊字符
line1 = line.replace('#', ' ').replace('/',' ')
# 地址获取经纬度
baiduUrl = "http://api.map.baidu.com/geocoder/v2/?ak=XXXXXXX&callback=renderOption&address=%s&output=json" % (
line1)
req = requests.get(baiduUrl)
content = req.text
content = content.replace("renderOption&&renderOption(", "")
content = content[:-1]
baiduAddr = json.loads(content)
lng = baiduAddr["result"]["location"]["lng"]
lat = baiduAddr["result"]["location"]["lat"]
# 经纬度获取城市
baiduUrl = "http://api.map.baidu.com/geocoder/v2/?ak=XXXXXXX&callback=renderReverse&location=%s,%s&output=json&pois=0" % (
lat, lng)
req = requests.get(baiduUrl)
content = req.text
content = content.replace("renderReverse&&renderReverse(", "")
content = content[:-1]
baiduAddr = json.loads(content)
province = baiduAddr["result"]["addressComponent"]["province"]
city = baiduAddr["result"]["addressComponent"]["city"]
district = baiduAddr["result"]["addressComponent"]["district"]
# 写入2.txt文件
new_line = line + "|" + str(lng) + "|" + str(lat) + "|" + province + "|" + city + "|" + district
fw.write(new_line)
fw.write("\n")
3.运行结果:
2.txt
上海市浦东新区栖山路215号-1|121.55412741874005|31.250531111923426|上海市|上海市|浦东新区
江苏省南京市鼓楼区凤凰西街222-1|118.7466970802996|32.0465940656867|江苏省|南京市|鼓楼区
上海市闵行区华林路229弄34号|121.36316671139555|31.143942453000527|上海市|上海市|闵行区
上海市普陀区梅川路299-301号|121.40369575422491|31.244826892994706|上海市|上海市|普陀区
浙江省杭州市拱墅区丰登路305-311号1层|120.15884493257121|30.34473201035828|浙江省|杭州市|拱墅区
江苏省南京市鼓楼区碧树园86号101室|118.76505691316264|32.06860445880062|江苏省|南京市|鼓楼区
浙江省宁波市江北区范江岸路38弄6号-10号1层商铺|121.54905723315113|29.899196446280598|浙江省|宁波市|江北区
浙江省宁波市江东区福明路876-880号|121.59768721212123|29.862162545362594|浙江省|宁波市|江东区
浙江省宁波市江北区清湖路8号|121.56583297445964|29.899867569052006|浙江省|宁波市|江北区
python地址解析经纬度,城市的更多相关文章
- 利用python爬取城市公交站点
利用python爬取城市公交站点 页面分析 https://guiyang.8684.cn/line1 爬虫 我们利用requests请求,利用BeautifulSoup来解析,获取我们的站点数据.得 ...
- python求职Top10城市,来看看是否有你所在的城市
前言 从智联招聘爬取相关信息后,我们关心的是如何对内容进行分析,获取用用的信息. 本次以上篇文章“5分钟掌握智联招聘网站爬取并保存到MongoDB数据库”中爬取的数据为基础,分析关键词为“python ...
- 【可视化大屏教程】用Python开发智慧城市数据分析大屏!
目录 一.开发背景 二.讲解代码 2.1 大标题+背景图 2.2 各区县交通事故统计图-系列柱形图 2.3 图书馆建设率-水球图 2.4 当年城市空气质量aqi指数-面积图 2.5 近7年人均生产总值 ...
- 使用python遍历指定城市的一周气温
处于兴趣,写了一个遍历指定城市五天内的天气预报,并转为华氏度显示.把城市名字写到一个列表里这样可以方便的添加城市.并附有详细注释 1 import requests import json#定义一个函 ...
- python 读取全国城市aqi数据,差值生成png图片
# -*- coding: utf-8 -*- import arcpy import sys import datetime import cx_Oracle import json import ...
- python 凸包(经纬度) + 面积[近似]
def cross(A,B): return A[0] * B[1] - A[1] * B[0] def vectorMinus( a , b): return ( (a[0] - b[0] )*10 ...
- 关于python的中国历年城市天气信息爬取
一.主题式网络爬虫设计方案(15分)1.主题式网络爬虫名称 关于python的中国城市天气网爬取 2.主题式网络爬虫爬取的内容与数据特征分析 爬取中国天气网各个城市每年各个月份的天气数据, 包括最高城 ...
- 借助Python来实现的定量城市研究
一.数据处理基础 (一)数据分析的概念 城市数据分析,可以从数据分析的广义和狭义两个角度来看: 狭义的数据分析是指根据分析目的,采用对比分析.分组分析.交叉分析和回归分析等分析方法,对相关城市数据(包 ...
- 用python爬虫爬取去哪儿4500个热门景点,看看国庆不能去哪儿
前言:本文建议有一定Python基础和前端(html,js)基础的盆友阅读. 金秋九月,丹桂飘香,在这秋高气爽,阳光灿烂的收获季节里,我们送走了一个个暑假余额耗尽哭着走向校园的孩籽们,又即将迎来一年一 ...
随机推荐
- 获取html元素的XPath路径
<!DOCTYPE html> <html> <head> <script src="/jquery/jquery-1.11.1.min.js&qu ...
- raise语句
# -*- coding: utf-8 -*- #python 27 #xiaodeng #Python学习手册 868 #raise语句 res=[IndexError,TypeError] #ra ...
- win7硬盘安装方法
Windows 7 完全硬盘安装方法 干干净净的C盘 事先准备:装好系统的电脑一台,win 7安装iso. 注: (1).Windows 7要求安装在NTFS分区,但是其他分区可以是FAT32格式! ...
- 利用ASP.NET一般处理程序动态生成Web图像(转)
摘自:http://www.cnblogs.com/zhouhb/archive/2011/02/15/1955262.html 一般处理程序的扩展名为ashx,它实现了IHttpHandler接口, ...
- HTML:减少页面加载时间的方法
1. 重复的HTTP请求数量应尽量减少 (1)减少调用其他页面.文件的数量. (2)在使用css格式时,常会采用background载入图形文件,而每个background的图像都会产生1次HTTP ...
- 开源的数据可视化JavaScript图表库:ECharts
ECharts (Enterprise Charts 商业产品图表库)是基于HTML5 Canvas的一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽 ...
- 作业调度框架_Quartz
什么是Quartz Quartz是一个完全由Java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制.Quartz允许开发人员根据时间间隔来调度作业.它实现了作业和触发 ...
- C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求
C# 动态创建SQL数据库(二) 使用Entity Framework 创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关 ...
- .NET CORE WebApi Post跨域提交
参考博客:https://www.cnblogs.com/chongyao/p/8652743.html 搭建一个 .NET CORE 的 WebApi 想前后端分离, 于是为了简单做了个demo站点 ...
- 转:使用Mosquitto-Auth-Plugin对mqtt客户端进行验证
https://www.lixiaodong.com/?p=1631.安装需要的包sudo apt-get install libc-ares-dev libcurl4-openssl-dev lib ...