Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 带请求的递归图像下载_Python 3.x_Python Requests - Fatal编程技术网

Python 3.x 带请求的递归图像下载

Python 3.x 带请求的递归图像下载,python-3.x,python-requests,Python 3.x,Python Requests,我正在尝试使用Python3.5和请求从openi()下载图像。我使用的rest API如下所示: resp = requests.get("http://openi.nlm.nih.gov/retrieve.php", params = {"query":"Feulgen", "m": 1, "n": 12}) print(resp.content) 这给了我一个json文件,其中包含关于我想要的图像的文本信息(包括它们的.png文件名),但我真的很想下载图像本身 我是否必须

我正在尝试使用Python3.5和请求从openi()下载图像。我使用的rest API如下所示:

resp = requests.get("http://openi.nlm.nih.gov/retrieve.php", 
       params = {"query":"Feulgen", "m": 1, "n": 12})
print(resp.content)
这给了我一个json文件,其中包含关于我想要的图像的文本信息(包括它们的.png文件名),但我真的很想下载图像本身

我是否必须根据JSON中列出的特定url下载每个图像,或者是否有方法对查询中出现的图像进行某种“批量下载”

我已经看到了下载图像的请求,但似乎我需要的是.png或.jpeg或.URL。有人知道不使用单独的图像URL获取图像的方法吗


提前谢谢

是的,只是通过并保存

import requests, pprint
resp = requests.get("http://openi.nlm.nih.gov/retrieve.php",
       params = {"query":"Feulgen", "m": 1, "n": 12})
for i in resp.json()['list']:
    #pprint.pprint(i)
    pprint.pprint(i['imgLarge'])
    img = requests.get('http://openi.nlm.nih.gov/'+i['imgLarge'])
    if img.status_code == 200:
        with open("/tmp/"+img.url.split("/")[-1], 'wb') as f:
            f.write(img.content)                                    

是的。您必须为每个URL调用图像下载功能