leanfly 发表于 2020-12-3 15:19

使用NASA的搜索API下载关于地球的图片

本帖最后由 leanfly 于 2020-12-3 16:10 编辑

最近想下载一些关于地球的高清航拍图,所以去找了NASA的API,使用搜索的方式下载图片并保存到NASA文件夹

发现接口数据返回的tif图片不符合要求,进行了改造
改用了urllib的urlretrieve进行下载

# coding=utf-8
import requests
import json
import os
import time
import urllib

def search():
    #nasa搜索api
    api = 'https://images-api.nasa.gov/search?q=earth%2020&media_type=image'
    res = requests.get(api)
    #使用requests的get请求获取到json
    jsondata = json.loads(res.text)
    #使用json解析出搜索结果列表
    imgcollection = jsondata['collection']['items']
    print('获取到 %d 条数据' %len(imgcollection))
    #创建文件夹
    if os.path.isdir('NASA') == True:
      os.chdir('NASA')
    else:
      os.mkdir('NASA')
      os.chdir('NASA')

    for i in imgcollection:
      #解析原始图片
      image = i['href']
      image = requests.get(image).text
      image = json.loads(image)
      index = imgcollection.index(i) + 1
      print('开始下载第 {} 张图片 {}'.format(index, image))
      name = image.split('image/').split('/')
      #当遇到后缀是'tif'的文件时跳过
      if name.split('.') == 'tif':
            print('当前文件为tif,不符合要求,已跳过')
            continue
      #使用python自带的urllib的urlretrieve获取图片
      urllib.request.urlretrieve(image, name)
      time.sleep(1)

if __name__ == '__main__':
    search()

sixwalker 发表于 2020-12-3 15:25

沙发,不错不错

feinaruto 发表于 2020-12-3 15:36

不错不错

流云削峰 发表于 2020-12-3 15:49

下载指定地区的地图?

wuyusuifeng 发表于 2020-12-3 15:51

我也想知道怎么下载或者查看NASA地图

椿鬼酉溪 发表于 2020-12-3 16:02

厉害 感谢分享

deityso 发表于 2020-12-3 16:16

仰视大神,厉害

坐久落花多 发表于 2020-12-3 16:56

看起来不错

LeeQiang 发表于 2020-12-3 17:21


仰视大神,厉害

chenxiang12159 发表于 2020-12-3 21:05

请问NASA的APi是哪里找的
页: [1] 2
查看完整版本: 使用NASA的搜索API下载关于地球的图片