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)基础的盆友阅读. 金秋九月,丹桂飘香,在这秋高气爽,阳光灿烂的收获季节里,我们送走了一个个暑假余额耗尽哭着走向校园的孩籽们,又即将迎来一年一 ...
随机推荐
- windows XP系统搜索无线网络时提示“windows无法配置此无线连接”,如何处理?
转自:http://support1.lenovo.com.cn/lenovo/wsi/htmls/detail_12839009034375918.html 文章编号:C191612 201 ...
- Modifying a Request or Response
To make custom changes to web requests and responses, use FiddlerScript to add rules to Fiddler's On ...
- 设计模式之适配器模式(Adapter Pattern)C++实现
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁.这样的类型的设计模式属于结构型模式.它结合了两个独立接口的功能. 意图:将一个类的接口转换成客户希望的另外一个接口.适配器 ...
- 从最简单的实例学习ARM 指令集(三)
上一篇讲到赋值运算,这篇讲讲子函数调用.先看最简单范例:test4.c #include <stdio.h> void f1() { } void main() { int d = 4; ...
- Android进程注入
全部代码在这里下载:http://download.csdn.net/detail/a345017062/8133239 里面有两个exe.inj是一个C层进程注入的样例.inj_dalvik是我写的 ...
- 关于vsftpd的refusing to run with writable root inside chroot()问题
今天在上班帮测试的同事搭建ftp服务器时出现的一个问题 服务搭建完成后连接时报这个错误: refusing to run with writable root inside chroot() 查了资料 ...
- eclipse cdt Program "make" not found in PATH
eclipse cdt插件,开发c/c++程序,编译时报错Program "make" not found in PATH经查C:\MinGW\bin下确实无make.exe,有m ...
- 微信小程序开发动感十足的加载动画--都在这里!
代码地址如下:http://www.demodashi.com/demo/14242.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...
- jquery 事件小事例
用户名变灰 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> & ...
- 腾讯开放平台 iOS应用URL schema、Bundle ID填写 (含微博、微信)
解释如下: qq比较麻烦点,需要两个 URL schemes 1.QQ+appID(注意:appID原本是10进制的,需要先转换16进制,网址:点击转换16进制) 2.tencent+appID 结束