python下载谷歌地图瓦片_python抓取天地图瓦片
【实例简介】
抓取天地图瓦片
【实例截图】
【核心代码】
# _*_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抓取天地图瓦片相关推荐
- python下载图片怎么保存_Python抓取站酷作品图片并保存至本地
思路 1.通过 requests 模块请求网页,获取到网页的源码,其中包含了作品集的 URL 2.通过 BeautifulSoup 提取到作品集的 URL ,返回为列表,使用 for 循环遍历作品集 ...
- python爬关键词百度指数_Python 抓取指定关键词的百度指数
百度指数很多时候在我们做项目的时候会很有帮助,从搜索引擎的流量端给到我们一些帮助,比如:家具行业的销量跟"装修","新房","二手房"等关键 ...
- python下载谷歌地图瓦片_python获取bing地图发布自己的TMS服务(一)下载瓦片
部分结果 bing地图瓦片使用QuadKey作为命名方式. QuadKey简介 如何计算quadkey 在给定level下,把行号tileY和列号tileX转换为2进制,然后行列交叉存储,再转换为4进 ...
- python批量下载网页文件夹_Python抓取网页批量下载文件方法初探(正则表达式+BeautifulSoup) (转)...
最近两周都在学习Python抓取网页方法,任务是批量下载网站上的文件.对于一个刚刚入门python的人来说,在很多细节上都有需要注意的地方,以下就分享一下我在初学python过程中遇到的问题及解决方法 ...
- python下载谷歌地图瓦片_openLayers TMS加载谷歌地图瓦片
openLayers TMS中加载谷歌瓦片 经纬坐标(LonLat) 和投影坐标系的转换 /** openLayer根据TMS加载谷歌地图瓦片 (1)先去下载加载谷歌地图瓦片,这样的软件有(水经注 ...
- python爬去百度音乐_Python抓取百度音乐。
今天挑战下百度音乐抓取,先用Chrome分析下请求的链接. 最关键的就是这个链接 http://play.baidu.com/data/music/songlink 请求这个带上songid就能返回给 ...
- python玩王者荣耀皮肤_python 抓取王者荣耀皮肤 代码2年了 依旧可以抓取高清 王者皮肤...
#!/usr/bin/env python #-*- coding: utf-8 -*- """抓取王者荣耀皮肤""" importrequ ...
- python保存图片到指定路径_python 抓取页面数据,并保存图片文本到指定目录文件夹...
这个爬虫主要利用scrapy+beautifulsoup完成,其中图片保存碰到了一个大坑,花了一天的时间才解决. 大坑就是:在抓取文章页指定区域所有图片的时候,刚好那块区域的图片所有页面都一样,导致图 ...
- python大众点评霸王餐_python抓取大众点评商户信息
数据说明: 本次爬取大众点评共8个字段信息,包括: 商户名字, 口味评分, 环境评分,服务评分,人均价格,评论数量,地址,商户星级 然后把数据存入excel表格 一 .首页部分 我们可以看到有很多分类 ...
最新文章
- 如何在CrossOver里应用Windows容器的存档(备份)与恢复?
- LeakCanary 源码解析
- ORACLE关闭启动的诡异错误
- Matlab 日常技巧 ,判断文件存在
- Jmeter BeanShell学习(一) - BeanShell取样器(一)
- beautifulsoup获取属性_Python爬虫常用模块:BeautifulSoup
- 基本BASH SHELL脚本命令——Linux系统管理命令-检测程序、检测磁盘空间
- MySQL实时获取有性能问题的SQL
- 一个类中可以没有main方法_一个月可以暴瘦二十斤的减肥方法
- memento about Linux
- mysql 递归查询子类_MySQL递归查询当前节点及子节点
- onvif 模拟摄像头_ONVIF协议测试工具(ONVIF Device Test Tool)
- 开发跨境电商/外贸商城网站需要考虑的事项
- [OpenAirInterface实战-17] :OAI 软件无线电USRP N300/N310硬件详解
- 机试算法编程题练习附答案-python
- 在eclipse中将一个PNG图片转换成十六进制字节数组输出
- Mybatis-Plus进阶之扩展插件
- 数据结构与算法之美笔记——基础篇(中):树,二叉树,二叉查找树,平衡二叉查找树,红黑树,递归树,堆
- CorelDRAW 发光字想制作的漂亮一些就得会这些技巧
- 软件测试——版本管理工具:SVN和Git