吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2360|回复: 10
收起左侧

[Python 转载] 使用NASA的搜索API下载关于地球的图片

[复制链接]
leanfly 发表于 2020-12-3 15:19
本帖最后由 leanfly 于 2020-12-3 16:10 编辑

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

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

[Python] 纯文本查看 复制代码
# 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)[0]
        index = imgcollection.index(i) + 1
        print('开始下载第 {} 张图片 {}'.format(index, image))
        name = image.split('image/')[1].split('/')[1]
        #当遇到后缀是'tif'的文件时跳过
        if name.split('.')[1] == '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是哪里找的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 21:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表