【实例简介】

抓取天地图瓦片

【实例截图】

【核心代码】

# _*_coding:utf-8_*_

from urllib import request

import re

import urllib.request

import os

import random

import math

agents = [

'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36',

'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.0 Safari/532.5',

'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/532.9 (KHTML, like Gecko) Chrome/5.0.310.0 Safari/532.9',

'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.514.0 Safari/534.7',

'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.14 (KHTML, like Gecko) Chrome/9.0.601.0 Safari/534.14',

'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.14 (KHTML, like Gecko) Chrome/10.0.601.0 Safari/534.14',

'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.20 (KHTML, like Gecko) Chrome/11.0.672.2 Safari/534.20", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.27 (KHTML, like Gecko) Chrome/12.0.712.0 Safari/534.27',

'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.24 Safari/535.1']

resolution={18:5.36441802978515E-06,

17:1.07288360595703E-05,

16:2.1457672119140625E-05,

15:4.29153442382814E-05,

14:8.58306884765629E-05,

13:0.000171661376953125,

12:0.00034332275390625,

11:0.0006866455078125,

10:0.001373291015625,

9:0.00274658203125,

8:0.0054931640625,

7:0.010986328125,

6:0.02197265625,

5:0.0439453125,

4:0.087890625,

3:0.17578125,

2:0.3515625,

1:0.703125}

# 经纬度反算切片行列号 3857坐标系

def deg2num(lat_deg, lon_deg, zoom):

#lat_rad = math.radians(lat_deg)

#n = 2.0 ** zoom

#xtile = int((lon_deg 180.0) / 360.0 * n)

#ytile = int((1.0 - math.log(math.tan(lat_rad) (1 / math.cos(lat_rad))) / math.pi) / 2.0 * n)

xtile = math.floor(( lon_deg 180.0)/(resolution[zoom]*256))

ytile = math.floor((90.0-lat_deg)/(resolution[zoom]*256))

return (xtile, ytile)

# 下载图片

def getimg(Tpath, Spath, x, y):

try:

f = open(Spath, 'wb')

req = urllib.request.Request(Tpath)

req.add_header('User-Agent', random.choice(agents))  # 换用随机的请求头

pic = urllib.request.urlopen(req, timeout=60)

f.write(pic.read())

f.close()

print(str(x) '_' str(y) '下载成功')

except Exception:

print(str(x) '_' str(y) '下载失败,重试')

getimg(Tpath, Spath, x, y)

zoom =16  # 下载切片的zoom

lefttop = deg2num( 28.317231,115.846340, zoom)  # 下载切片的左上角角点

rightbottom = deg2num( 23.567119,120.722095, zoom)

print(str(lefttop[0]))

print(str(rightbottom[0]))

print(str(lefttop[1]))

print(str(rightbottom[1]))

print("共" str(lefttop[0] - rightbottom[0]))

print("共" str(lefttop[1] - rightbottom[1]))

for x in range(lefttop[0], rightbottom[0]):

for y in range(lefttop[1], rightbottom[1]):

path = "F:/lcc/fujian" "/" str(zoom) "/" str(x)

if not os.path.exists(path):

os.makedirs(path)

tilepath = "http://t0.tianditu.gov.cn/DataServer?T=cia_c&x=" str(x) "&y=" str(y) "&l=" str(zoom) "&tk=28b495e4df789d971d2ae77b01a55a55"

# 天地图的url 可以换成谷歌地图的

getimg(tilepath, path "/" str(y) ".png", x, y)

print('完成')

python下载谷歌地图瓦片_python抓取天地图瓦片相关推荐

  1. python下载图片怎么保存_Python抓取站酷作品图片并保存至本地

    思路 1.通过 requests 模块请求网页,获取到网页的源码,其中包含了作品集的 URL 2.通过 BeautifulSoup 提取到作品集的 URL ,返回为列表,使用 for 循环遍历作品集 ...

  2. python爬关键词百度指数_Python 抓取指定关键词的百度指数

    百度指数很多时候在我们做项目的时候会很有帮助,从搜索引擎的流量端给到我们一些帮助,比如:家具行业的销量跟"装修","新房","二手房"等关键 ...

  3. python下载谷歌地图瓦片_python获取bing地图发布自己的TMS服务(一)下载瓦片

    部分结果 bing地图瓦片使用QuadKey作为命名方式. QuadKey简介 如何计算quadkey 在给定level下,把行号tileY和列号tileX转换为2进制,然后行列交叉存储,再转换为4进 ...

  4. python批量下载网页文件夹_Python抓取网页批量下载文件方法初探(正则表达式+BeautifulSoup) (转)...

    最近两周都在学习Python抓取网页方法,任务是批量下载网站上的文件.对于一个刚刚入门python的人来说,在很多细节上都有需要注意的地方,以下就分享一下我在初学python过程中遇到的问题及解决方法 ...

  5. python下载谷歌地图瓦片_openLayers TMS加载谷歌地图瓦片

    openLayers  TMS中加载谷歌瓦片  经纬坐标(LonLat) 和投影坐标系的转换 /** openLayer根据TMS加载谷歌地图瓦片 (1)先去下载加载谷歌地图瓦片,这样的软件有(水经注 ...

  6. python爬去百度音乐_Python抓取百度音乐。

    今天挑战下百度音乐抓取,先用Chrome分析下请求的链接. 最关键的就是这个链接 http://play.baidu.com/data/music/songlink 请求这个带上songid就能返回给 ...

  7. python玩王者荣耀皮肤_python 抓取王者荣耀皮肤 代码2年了 依旧可以抓取高清 王者皮肤...

    #!/usr/bin/env python #-*- coding: utf-8 -*- """抓取王者荣耀皮肤""" importrequ ...

  8. python保存图片到指定路径_python 抓取页面数据,并保存图片文本到指定目录文件夹...

    这个爬虫主要利用scrapy+beautifulsoup完成,其中图片保存碰到了一个大坑,花了一天的时间才解决. 大坑就是:在抓取文章页指定区域所有图片的时候,刚好那块区域的图片所有页面都一样,导致图 ...

  9. python大众点评霸王餐_python抓取大众点评商户信息

    数据说明: 本次爬取大众点评共8个字段信息,包括: 商户名字, 口味评分, 环境评分,服务评分,人均价格,评论数量,地址,商户星级 然后把数据存入excel表格 一 .首页部分 我们可以看到有很多分类 ...

最新文章

  1. 如何在CrossOver里应用Windows容器的存档(备份)与恢复?
  2. LeakCanary 源码解析
  3. ORACLE关闭启动的诡异错误
  4. Matlab 日常技巧 ,判断文件存在
  5. Jmeter BeanShell学习(一) - BeanShell取样器(一)
  6. beautifulsoup获取属性_Python爬虫常用模块:BeautifulSoup
  7. 基本BASH SHELL脚本命令——Linux系统管理命令-检测程序、检测磁盘空间
  8. MySQL实时获取有性能问题的SQL
  9. 一个类中可以没有main方法_一个月可以暴瘦二十斤的减肥方法
  10. memento about Linux
  11. mysql 递归查询子类_MySQL递归查询当前节点及子节点
  12. onvif 模拟摄像头_ONVIF协议测试工具(ONVIF Device Test Tool)
  13. 开发跨境电商/外贸商城网站需要考虑的事项
  14. [OpenAirInterface实战-17] :OAI 软件无线电USRP N300/N310硬件详解
  15. 机试算法编程题练习附答案-python
  16. 在eclipse中将一个PNG图片转换成十六进制字节数组输出
  17. Mybatis-Plus进阶之扩展插件
  18. 数据结构与算法之美笔记——基础篇(中):树,二叉树,二叉查找树,平衡二叉查找树,红黑树,递归树,堆
  19. CorelDRAW 发光字想制作的漂亮一些就得会这些技巧
  20. 软件测试——版本管理工具:SVN和Git

热门文章

  1. CPU密集和IO密集
  2. 京东安联臻爱无限2020,可以带“病”投保的百万医疗险!
  3. 软件设计---过程设计
  4. 计算机组成原理时序发生器qd,计算机组成原理—微程序控制器组成实验
  5. fortran常见错误汇总
  6. 阶段总结【博学谷学习记录】超强总结,用心分享
  7. Jetson Nano 系列之:刷机、瘦身、部署应用
  8. UI自动化测试面试题总结
  9. Win10系统无法登录OneNote For Windows10的解决办法
  10. 三维扫描体数据的VTK体绘制程序设计