首页 \ 问答 \ 递归图像下载与请求(recursive image download with requests)

递归图像下载与请求(recursive image download with requests)

我正尝试使用python 3.5和请求从openi下载图像( https://openi.nlm.nih.gov/index.php )。 我正在使用他们的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或.whatever URL。 有没有人知道如何获得没有个人图像网址的图像?

提前致谢。


I am trying to download images from openi (https://openi.nlm.nih.gov/index.php) using python 3.5 and requests. I am using their rest API as follows:

resp = requests.get("http://openi.nlm.nih.gov/retrieve.php", 
       params = {"query":"Feulgen", "m": 1, "n": 12})
print(resp.content)

This gives me a json file that contains textual information about the images that I would like (including their .png filenames) but I would really like to download the images themselves.

Do I have to download each image according to the specific url listed in the JSON or is there a way to do some sort of "batch download" for the images that would come up in this query?

I have seen this post about downloading images with requests but it seems that I need the .png or .jpeg or .whatever URL. Does anyone know way to get the images without the individual image URLs?

Thanks in advance.


原文:https://stackoverflow.com/questions/49392554
更新时间:2024-05-25 11:05

最满意答案

你需要拥有

using System.Linq;

在文件的顶部。


You need to have

using System.Linq;

at the top of your file.

相关问答

更多
  • 是的, 他们是相同的 ; 我认为,只有LINQ用户才会知道其中的存在,因为他们会想知道它在哪里。 Yes, they're identical; I assume .where's existence is solely for LINQ users who would wonder where it is otherwise.
  • 改为: If (Coefficient < 0) Then Sign = " - " ' if coefficient negative Else If Coefficient > 0 Then Sign = " + " ' if coefficient positive End If Change to this: If (Coefficient < 0) Then Sign = " - " ' if coefficient negative Else If Coef ...
  • mmain.cpp:133: error: no matching function for call to ‘__shedskin__::list<__shedskin__::list*>::append(__shedskin__::list*)’ 这个错误意味着你有一个Python对象, shedskin对象已经被推断为一个int的list ,但是现在你试图附加一些它被推断为float list的东西。 例如,您可以通过以下方式获得: a = [[1], [2]] b = 1 ...
  • 您可以使用Enumerable。 采取方法来限制任何Linq查询的结果。 Listx.AddRange(suggestions.Where(x => x.Contains(content)).Take(6)); 如果我能熟悉Linq的101个样本 ,那么您可以在Linq框架中找到每个操作的例子。 You can use the Enumerable.Take method to limit the results from any Linq query. Listx.AddRange(suggestion ...
  • 你需要拥有 using System.Linq; 在文件的顶部。 You need to have using System.Linq; at the top of your file.
  • List.Sort对原始列表进行排序并不返回新列表。 因此,使用此方法或Enumerable.OrderBy + ToList : 高效: industryList.Sort(); 效率较低: industryList = industryList.OrderBy(s => s).ToList(); List.Sort sorts the original list and does not return a new one. So either use this method or Enumerabl ...
  • 您收到错误,因为Pair>不是Pair> 。 通用类型不是协变的。 但是,您可以键入futureTasks作为List>> List>> 。 然后你就可以为它添加一个Pair> 。 编辑: 为了更好地解释这一点,请考虑尝试将对象分配给变量,而不是将其添 ...
  • 这是R13A中的一个内部编译器错误 - 自2009-04-15_18起,它已在R13B快照中修复。 R13B-0将于2009年4月22日星期三发布,mod_muc将会正常编译。 但是,ejabberd并不完全支持R13B - ram_file_io服务器不支持IO服务器协议中的新unicode选项,所以在修复之前,您将无法使用R13B成功启动ejabberd。 现在最好的选择是R12B-5。 This is an internal compiler bug in R13A - it has been fix ...
  • 关于LESS最令人沮丧的是它不太有用的调试信息。 第57行是一个简单的缺失分号 a { display: block; width: 100%; text-align: center; padding: 20px 0; font-family: @baseFontFamily //missing semicolon font-size: 1.5em; color: @gray85; ...
  • 使用pkg-config获取库所需的编译器标志: g++ libusbtest.cpp `pkg-config --libs libusb` -o libusbtest Use pkg-config to get the compiler flags needed for the library: g++ libusbtest.cpp `pkg-config --libs libusb` -o libusbtest

相关文章

更多

最新问答

更多
  • 谁有JAVA的视频教程啊 最好从基础开始到精通 打包好的
  • 仅根据表格的一列删除重复的值(Remove duplicate values based on only one column of the table)
  • 从数据库值填充数组的最有效方法?(Most efficient way to populate array from database values?)
  • 我在data属性中有一个变量,并从prop传递相同的变量。(I have one variable in data attribute, and pass the same variable from prop. why the {{}} template display the value from prop rather than data)
  • Reg Ex Django Url Conf(Reg Ex Django Url Conf)
  • 本地化不适用于主要活动(Localization does not work on main activity)
  • 我有一个同学让我去福州科闽计算机学校学习室内设计,这个学校好吗?
  • 变量的模板参数中的Decltype(Decltype in template parameter of variable)
  • 代码签名错误与Xcode 4.2(Code Sign error with Xcode 4.2)
  • 在保留表达式生命周期的同时强制执行参数评估顺序(Enforce parameter evaluation order while retaining lifetime of of expressions)
  • 查询以获取早于开始日期的日期行(不是简单的WHERE)(Query to get date rows older than a start date (not a simple WHERE))
  • 武清哪家会计培训机构通过率高?
  • Java正则表达式逻辑OR(Java regex logical OR)
  • 使用for循环创建异步Vue组件(Use for loop to create async Vue component)
  • 从magento数据库获取客户名称和电子邮件(Get customer names and emails from magento database)
  • 运行Ruby冒泡排序(Running Through a Ruby Bubble Sort)
  • 减去返回多于1行的两个SQL子查询的结果(Subtracting the results of the two SQL subqueries that returns more than 1 row)
  • 对于Ruby http请求,响应“呃?”是间歇性的(The response “er ?” is getting intermittently for Ruby http request)
  • 请问嘉定区有没有培训上海市电脑中级的,有的话在哪里?
  • 根据日期范围查询最小分区键(聚类键)(Query min partition key based on date range (clustering key))
  • int listinsert(sqlist * & L)中的&是什么意思
  • 原始套接字的会话管理(Session Management on Raw Socket)
  • 将Type用作“属性”是不好的做法?(Is it bad practise to use Type as a 'Property'?)
  • 电脑等级证书二级和三级有什么区别啊 !!我们学校有二级和三级培训到底该选着那个呢????????
  • linux 安装新硬盘如何设置权限
  • 无法从RecyclerView的onBindViewHolder更改根视图的大小或位置(Cannot change root view's size or position from RecyclerView's onBindViewHolder)
  • spin.js没出现在我的网站上?(spin.js is not showing up on my site?)
  • Gulp + Bootstrap字体(Gulp + Bootstrap Fonts)
  • 如何使用短信Alfresco.util.PopupManager.displayPrompt显示图标(How to show icon with text message Alfresco.util.PopupManager.displayPrompt)
  • Skype.getAllChats()未检测到基于云的群组聊天(Skype.getAllChats() not detecting cloud-based group chats)