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. 通过Js对电话和姓名身份证等进行部分隐藏处理

    在进行web前端页面开发中,有时需要从后台获取用户数据来显示在前台页面,但是考虑到用户信息安全的问题,就需要对这些信息进行处理,使其不完全显示出来,例如姓名,两个字的显示姓,名字用*代替,电话前三位和 ...

  2. this词法

    1.示例代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UT ...

  3. MVC MVP MVVM 图解

    1.MVC (1)图解 解释: 视图(View):用户界面. 控制器(Controller):业务逻辑 模型(Model):数据保存 各部分之间的通信方式如下: View 传送指令到 Controll ...

  4. windows彻底删除Oralce

    以下是彻底删除Oralce的步骤:1. 开始->设置->控制面板->管理工具->服务停止所有Oracle服务. 2. 开始->程序->Oracle - OraHom ...

  5. wso2esb安装及helloworld

    1.系统环境 Ubuntu12.04    192.168.0.97    root/password找管理员 Ubuntu12.04    192.168.0.99    root/password ...

  6. CitrixSmartAuditor安装报错解决方法

    报错1:安装过程中报错 解决方法: SQLServer的配置: http://www.cnblogs.com/weizhengLoveMayDay/p/3267756.html 报错2:无法连接到Sm ...

  7. (一)Linux实操之——权限、任务调度、磁盘分区

    1. 权限 1.1 查看权限 通过ls -l命令可以看到文件的详细信息 下面以一条信息解释各个位置字符的作用 -rwxr--r--. 1 root root 32 6月 18 10:15 choose ...

  8. VC++字符串的使用及转换

    CString ,BSTR ,LPCTSTR之间关系和区别 CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指 ...

  9. ASM_Oracle ASM的常用命令(汇总)

    2014-07-02 Created By BaoXinjian

  10. Linux下C结构体初始化

    1.前言 今天在公司看一同事写的代码,代码中用到了struct,初始化一个struct用的是乱序格式,如下代码所示: typedef struct _data_t { int a; int b; }d ...