最近有个需求是要爬取街景图片,国内厂商百度高德和腾讯地图都没有开放接口,查询资料得知谷歌地图开放街景api

谷歌捷径申请key地址:https://developers.google.com/maps/documentation/streetview/

下面是一些街景照片的参数信息。

size:图片尺寸

location:经纬度

heading:朝向角度

pitch:旋转角度

key:自己的API_KEY

下面开始代码:

 # _*_ coding: utf-8 _*_
__author__ = 'herrylee' import urllib.request def download(url, name):
#url = "http://pic2.sc.chinaz.com/files/pic/pic9/201309/apic520.jpg"
#保存文件时候注意类型要匹配,如要保存的图片为jpg,则打开的文件的名称必须是jpg格式,否则会产生无效图片
conn = urllib.request.urlopen(url) f = open(name, 'wb') #wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
f.write(conn.read())
f.close()
print('Pic Saved!') fp = open("C:\\Users\\Administrator\\Desktop\\GPS\\paris.txt","r") #以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
for line in fp.readlines():
line = (lambda x: x[11:33])(line) #选取从第十一个到第十三个字符 也可以写成line = (lambda x: x[11:-11])(line)
print(line)
zu = line.split('_')
jin = zu[0]
wei = zu[1]
heading = zu[2]
name = "C:\\Users\\Administrator\\Desktop\\GPS\\paris_sub\\" + jin + "_" + wei + "_" + heading + "_-004.JPG"
url = "https://maps.googleapis.com/maps/api/streetview?size=936x537&location=" + jin + "," + wei + "&heading=" +heading + "&pitch=-004&key="+"key"
print(name)
print (url)
download(url, name)
fp.close()

下面是读取的坐标信息txt文档内容

'paris_sub/48.651717_2.493865_270_-004.JPG'
'paris_sub/48.756312_2.069988_90_-004.JPG'
'paris_sub/48.759815_2.502092_90_-004.JPG'
'paris_sub/48.911445_1.850626_270_-004.JPG'
'paris_sub/48.893319_2.262638_90_-004.JPG'
'paris_sub/48.815737_2.412183_270_-004.JPG'
'paris_sub/48.905476_2.527302_90_-004.JPG'
'paris_sub/48.912099_2.285934_270_-004.JPG'
'paris_sub/48.772068_2.033889_90_-004.JPG'
'paris_sub/48.648679_2.306182_90_-004.JPG'
'paris_sub/48.618283_2.925704_90_-004.JPG'
'paris_sub/48.926558_1.941170_270_-004.JPG'
'paris_sub/48.881077_2.705896_90_-004.JPG'
'paris_sub/48.966915_2.477976_90_-004.JPG'
'paris_sub/49.105046_2.245066_270_-004.JPG'
'paris_sub/48.703037_2.216347_270_-004.JPG'
'paris_sub/48.791862_2.420343_90_-004.JPG'
'paris_sub/48.681379_2.660818_90_-004.JPG'
'paris_sub/48.712748_2.377744_90_-004.JPG'
'paris_sub/48.806908_2.604621_270_-004.JPG'
'paris_sub/48.652523_1.862794_90_-004.JPG'
'paris_sub/48.488890_2.270909_90_-004.JPG'
'paris_sub/48.525296_1.950706_270_-004.JPG'

运行脚本输出信息

有一点需要注意 由于爬取的谷歌街景,众所周知的原因,我们需要fq,因此采取的模式是ssr,代理模式应该是全局模式,否则会报错 访问不通。

Python爬取谷歌街景图片的更多相关文章

  1. 利用Python爬取网页图片

    最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 我们这里以sogou作为爬取的对象. 首先我们进入搜狗图片 ...

  2. Python 爬取美女图片,分目录多级存储

    最近有个需求:下载https://mm.meiji2.com/网站的图片. 所以简单研究了一下爬虫. 在此整理一下结果,一为自己记录,二给后人一些方向. 爬取结果如图:   整体研究周期 2-3 天, ...

  3. python爬取网页图片(二)

    从一个网页爬取图片已经解决,现在想要把这个用户发的图片全部爬取. 首先:先找到这个用户的发帖页面: http://www.acfun.cn/u/1094623.aspx#page=1 然后从这个页面中 ...

  4. 用python 爬取网页图片

    import re import string import sys import os import urllib url="http://tieba.baidu.com/p/252129 ...

  5. python爬取网页图片

    # html:网页地址 def getImg2(html): soup = BeautifulSoup(html, 'html.parser') href_regex = re.compile(r'^ ...

  6. python爬取百度图片

    import requests import re from urllib import parse import os from threading import Thread def downlo ...

  7. Python 爬取图书图片和地址

    #-*- coding:utf-8 -*- import xlwt import urllib import re def getHtml(url): page = urllib.urlopen(ur ...

  8. python爬取许多图片的代码

    from bs4 import BeautifulSoup import requests import os os.makedirs('./img/', exist_ok=True) URL = & ...

  9. Python爬虫学习(6): 爬取MM图片

    为了有趣我们今天就主要去爬取以下MM的图片,并将其按名保存在本地.要爬取的网站为: 大秀台模特网 1. 分析网站 进入官网后我们发现有很多分类: 而我们要爬取的模特中的女模内容,点进入之后其网址为:h ...

随机推荐

  1. OpenCV混合高斯模型函数注释说明

    OpenCV混合高斯模型函数注释说明 一.cvaux.h #define CV_BGFG_MOG_MAX_NGAUSSIANS 500 //高斯背景检测算法的默认参数设置 #define CV_BGF ...

  2. DB Query Analyzer 5.05 is released, 65 articles concerned have been published

    DB Query Analyzer 5.05 is released, 65 articles concerned have been published DB Query Analyzer is p ...

  3. 复位windows网络参数的方法

    使用电脑的时候,经常会遇到网络相关的问题,以前读大学的时候就知道怎么解决,就是下面这个方案. 开始-全部程序-附件-命令提示符-右键-以管理员身份运行出来一个黑底白字的窗口,在里面输入: netsh ...

  4. j2ee5.0开发中jstl标签失效

    尝试了下,对于Weblogic中的出现的错误,也是有效的!   j2ee5.0开发中jstl标签失效 原因不详, 解决办法, 一:将.web.xml中 <web-app version=&quo ...

  5. 服务端搭建——腾讯云通信(IM)

    前言 在手机app中因为需要即时聊天功能,在项目采用腾讯云通信服务.如下流程图: 当手机端拿到签名后,就可登录IM,使用im提供的sdk收发信息. 准备工作 1.在腾讯云注册获取appid 2.申请开 ...

  6. List内存分配

    当采用默认构造函数List<int> value = new List<int>();实例化一个List<T>对象时,.Net Framework只是在内存中申请了 ...

  7. JavaScript中对象数组 作业 题目如下

    var BaiduUsers = [], WechatUsers = []; var User = function(id, name, phone, gender, age, salary) { t ...

  8. WSL与Windows交互实践

    1. WSL是什么 2. WSL新特性 3. WSL管理配置 4. WSL交互 5. 解决方案  * 5.1 使用别名  * 5.2 多复制一份  * 5.3 重定向  * 5.4 symlink 6 ...

  9. win10更新失败——适用于Windows 10 Version 1709 的03累积更新,适合基于x64系统(KB4088776)更新失败

    相信最近很多人被windows的更新折磨坏了,下面来介绍一下解决办法,有用的话请点赞! 首先将C盘中的这个文件夹删除:"C:\Windows\System32\Tasks\Microsoft ...

  10. vue UI库iview源码解析(2)

    上篇问题 在上篇<iview源码解析(1)>中的index.js 入口文件的源码中有一段代码有点疑惑: /** * 在浏览器环境下默认加载组件 */ // auto install if ...