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地址解析经纬度,城市的更多相关文章

  1. 利用python爬取城市公交站点

    利用python爬取城市公交站点 页面分析 https://guiyang.8684.cn/line1 爬虫 我们利用requests请求,利用BeautifulSoup来解析,获取我们的站点数据.得 ...

  2. python求职Top10城市,来看看是否有你所在的城市

    前言 从智联招聘爬取相关信息后,我们关心的是如何对内容进行分析,获取用用的信息. 本次以上篇文章“5分钟掌握智联招聘网站爬取并保存到MongoDB数据库”中爬取的数据为基础,分析关键词为“python ...

  3. 【可视化大屏教程】用Python开发智慧城市数据分析大屏!

    目录 一.开发背景 二.讲解代码 2.1 大标题+背景图 2.2 各区县交通事故统计图-系列柱形图 2.3 图书馆建设率-水球图 2.4 当年城市空气质量aqi指数-面积图 2.5 近7年人均生产总值 ...

  4. 使用python遍历指定城市的一周气温

    处于兴趣,写了一个遍历指定城市五天内的天气预报,并转为华氏度显示.把城市名字写到一个列表里这样可以方便的添加城市.并附有详细注释 1 import requests import json#定义一个函 ...

  5. python 读取全国城市aqi数据,差值生成png图片

    # -*- coding: utf-8 -*- import arcpy import sys import datetime import cx_Oracle import json import ...

  6. python 凸包(经纬度) + 面积[近似]

    def cross(A,B): return A[0] * B[1] - A[1] * B[0] def vectorMinus( a , b): return ( (a[0] - b[0] )*10 ...

  7. 关于python的中国历年城市天气信息爬取

    一.主题式网络爬虫设计方案(15分)1.主题式网络爬虫名称 关于python的中国城市天气网爬取 2.主题式网络爬虫爬取的内容与数据特征分析 爬取中国天气网各个城市每年各个月份的天气数据, 包括最高城 ...

  8. 借助Python来实现的定量城市研究

    一.数据处理基础 (一)数据分析的概念 城市数据分析,可以从数据分析的广义和狭义两个角度来看: 狭义的数据分析是指根据分析目的,采用对比分析.分组分析.交叉分析和回归分析等分析方法,对相关城市数据(包 ...

  9. 用python爬虫爬取去哪儿4500个热门景点,看看国庆不能去哪儿

    前言:本文建议有一定Python基础和前端(html,js)基础的盆友阅读. 金秋九月,丹桂飘香,在这秋高气爽,阳光灿烂的收获季节里,我们送走了一个个暑假余额耗尽哭着走向校园的孩籽们,又即将迎来一年一 ...

随机推荐

  1. 【Maven】IKAnalyzer 在Maven Repository不存在

    1.在mvnrepository里面找IKAnalyzer,这个中文分词包,一直没有找到,找到github,发现是一个国人写的. http://mvnrepository.com/search?q=I ...

  2. 虚拟机stack全分析

    通过jps -lv 获取到本地的一个JVM实例进程.再通过jstack pid  > thread.txt ,把stack trace输出到thread.txt文件中. 2012-08-28 2 ...

  3. TP3.2 APP_DEBUG=false关闭调试后访问不了。页面错误!请稍后再试~

    在APP_DEBUG=true时是没问题的,在APP_DEBUG=false时才会出现找不到模板的问题.  经过排查可能是模板文件找不到问题,之前是这么写的. 改为这个就好了. ----------- ...

  4. spring boot 环境搭建

    1.开发工具 https://spring.io/tools/sts/all 2.demo https://start.spring.io 3.下载maven https://maven.apache ...

  5. 【Oracle】ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

    早上使用PL/SQL连接Oracle的时候,报错如下 解决办法: 找到文件listener.ora,新增以下红色区域,注意:路径需要根据自己的Oracle安装路径自行设置 # listener.ora ...

  6. web页面中可以包含多个对象

    # encoding=utf-8 #python 2.7.10 #xiaodeng #web页面中可以包含多个对象 #HTTP权威指南 10页 #应用程序完成一项任务时通常会发布多个http事务.如: ...

  7. 揭开JDBC的神秘面纱,让JDBC数据库的连接参数不再神秘

    1.JDBC是什么? JDBC(Java DataBase Connectivity)java数据库连接 2.JDBC可以做什么?        简单地说,JDBC 可做三件事:与数据库建立连接.发送 ...

  8. loadrunner中log的使用初步总结

    1.log的设置方式 . 在 runtime setting中可以设置log的生成方式: 默认的log方式: Enable logging选中,log option是Send messages onl ...

  9. 触发器学习笔记(:new,:old用法)

    触发器学习笔记(:new,:old用法) 触发器是数据库发生某个操作时自动运行的一类的程序         用于保持数据的完整性或记录数据库操作信息方面         触发器不能够被直接调用,只能够 ...

  10. Oracle EBS WMS功能介绍(二)

    Oracle EBS WMS功能介绍(二) (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处.否则请与本人联系,违者必究) 出货物流逻辑主要包括 1.      打包.能够进 ...