开发者社区> 技能实验室> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

使用python下载地图边界坐标(省市县级)

简介: 使用python下载地图边界坐标(省市县级)
+关注继续查看

使用python下载地图边界坐标
省市县级

#! /usr/bin/env python
# encoding: utf-8

import os
import requests
import json


def downloadOne(imgurl,path):
    try:
        r = requests.get(imgurl,timeout=30,verify=True)
        r.raise_for_status()
        #使用with语句可以不用自己手动关闭已经打开的文件流
        with open(path,"wb") as f: #开始写文件,wb代表写二进制文件
            f.write(r.content)
            print('下载'+path+'完成')
    except Exception:
        print('')

def mkPath(path,name):
    floder = os.path.join(path,name)
    if not os.path.exists(floder):
        os.mkdir(floder)
    return floder

def digui(path,full_url):
    print(path,full_url)
    r = requests.get(full_url)
    ret = json.loads(r.text)
    p_list = ret['features']
    size = len(p_list)
    print(size)
    for dic in p_list:
        p_adcode = dic['properties']['adcode']
        p_name = dic['properties']['name']
        print(p_adcode,p_name)
        url = "https://***/areas_v3/bound/{}.json".format(str(p_adcode))
        p_path = mkPath(path,p_name)
        file_p = os.path.join(p_path,p_name+'.json')
        downloadOne(url,file_p)
        try:
            url = "https://***/areas_v3/bound/{}_full.json".format(str(p_adcode))
            file_full_p = os.path.join(path,p_name+'_full.json')
            downloadOne(url,file_full_p)
            digui(p_path,url)
        except:
            print(p_name,'是个直辖市')

def downloadGeos():
    url = 'https://***/areas_v3/bound/100000.json'
    name = '中国'
    path = mkPath(r'D:\\bigemap',name)
    file_p = os.path.join(path,name+'.json')
    downloadOne(url,file_p)
    full_url = 'https://***/areas_v3/bound/100000_full.json'
    file_full_p = os.path.join(path,name+'_full.json')
    downloadOne(full_url,file_full_p)
    digui(path,full_url)

downloadGeos()

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
python下载网站文件
场景说明:1、定时从网站下载程序文件;2、定时清理文件,以免占用磁盘空间过大; 程序功能:1、使用urllib2,urllib类从网站抓取数据,并下载到指定路径;2、为避免重复下载,在下载前做数据对比;3、使用多线程,一个实现下载的功能,另一个实现清理功能;4、每24小时执行一次。
4808 0
Python编程:subprocess执行命令行命令
Python编程:subprocess执行命令行命令
50 0
Python编程:signal处理超时问题
Python编程:signal处理超时问题
15 0
Python编程:demjson解析不规范的json字符串
Python编程:demjson解析不规范的json字符串
52 0
Python编程:Django中间件实现登陆验证
Python编程:Django中间件实现登陆验证
19 0
Python编程:Django中的Request对象常用属性
Python编程:Django中的Request对象常用属性
17 0
Python编程:sanic异步web框架
Python编程:sanic异步web框架
16 0
Python编程:elasticsearch库操作Elasticsearch
Python编程:elasticsearch库操作Elasticsearch
44 0
Python编程:py2neo操作neo4j图数据库
Python编程:py2neo操作neo4j图数据库
64 0
Python编程:matplotlib绘制散点图
Python编程:matplotlib绘制散点图
31 0
+关注
技能实验室
python java vue css typescript
文章
问答
文章排行榜
最热
最新
相关电子书
更多
数据智能驱动的企业增长之道
立即下载
ACE 区域技术发展峰会:Flink Python Table API入门及实践
立即下载
Python 系列直播——深入Python与日志服务,玩转大规模数据分析处理实战第二讲
立即下载