Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.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 如何使用特定名称保存下载的图像?_Python_Dataframe_Download_Python Requests - Fatal编程技术网

Python 如何使用特定名称保存下载的图像?

Python 如何使用特定名称保存下载的图像?,python,dataframe,download,python-requests,Python,Dataframe,Download,Python Requests,我有一段代码,它在df(excel文件)中循环,并为要保存的图像创建链接。 代码用于为图像创建链接,但我无法使用mydf中的链接名称保存图像 例如: /images/S/aplus-media/vc/9c4fd284-2d51-47d8-8275-9977cc5f9771.jpg 有什么我应该添加到我的代码中,以便我可以用以下格式的名称保存图像: /images/S/aplus media/vc/9c4fd284-2d51-47d8-8275-9977cc5f9771.jpg 链接的一些示例:

我有一段代码,它在
df
(excel文件)中循环,并为要保存的图像创建链接。 代码用于为图像创建链接,但我无法使用my
df
中的链接名称保存图像

例如:

/images/S/aplus-media/vc/9c4fd284-2d51-47d8-8275-9977cc5f9771.jpg
有什么我应该添加到我的代码中,以便我可以用以下格式的名称保存图像:
/images/S/aplus media/vc/9c4fd284-2d51-47d8-8275-9977cc5f9771.jpg

链接的一些示例:

https://m.media-amazon.com//images/S/aplus-media/vc/aa7c7a6e-6ad8-4f14-997a-49b379fae2b4.jpg
https://m.media-amazon.com//images/S/aplus-media/vc/9eff75e4-c9b2-4fc6-8f88-5a8ac57d5aca.jpg
https://m.media-amazon.com//images/S/aplus-media/sota/bb556924-6691-4510-82aa-e13360fb5acf.jpg
https://m.media-amazon.com//images/S/aplus-media/vc/2e87df92-06e3-4fc2-9781-86f0e50ac867.jpg
https://m.media-amazon.com//images/S/aplus-media/vc/6bcafb85-8836-43ef-9d18-da3ce64b4e0b.jpg

确保
var
ele
具有以下结构。看起来你在摆弄正斜杠
/
。在GET请求之前,请尝试打印
图像\u url

导入操作系统
导入请求
var='1〕https://m.media-amazon.com/'
lst=['/images/S/aplus media/vc/9c4fd284-2d51-47d8-8275-9977cc5f9771.jpg']
对于lst中的val:
对于val中的ele:
如果len(str(ele))>10:
image\u url=os.path.join(var[:-1],str(ele)[1:]
打印(图像\u url)
r=requests.get(图像\ url)
filename=str(ele).replace('/','')
如果r.status_code==200:
#r.raw.decode_content=True
#打开具有wb(写入二进制)权限的本地文件。
将open(filename,'wb')作为f:
f、 写作(r.content)
打印('图像成功下载:',文件名)
其他:
打印('无法检索图像')

什么是
image\u url
?@Epsi95它是我文件中的名称(我需要将其作为保存的图像的名称),与var连接(var='https://m.media-amazon.com/')例如https://m.media-amazon.com//images/S/aplus media/vc/9c4fd284-2d51-47d8-8275-9977cc5f9771.jpg
shutil.copyfileobj
不会做你认为它做的事。您应该使用
f.write(r.raw)
并且不要忘记关闭您的文件。谢谢!我应该如何将open('image.png','wb')修改为f---'image.png',以便从我的df中保存每个图像及其名称?请给出一些
lst
的示例,然后我可以提供完整的代码。我已经用一些需要下载的链接示例更新了描述。image\u url是完整链接,而ele是链接的这一部分:/images/S/aplus media/vc/9c4fd284-2d51-47d8-8275-9977cc5f9771.jpg,该链接位于my df中,应该是保存的图像的名称。基本上,ele值应该是名称您可以创建文件名为
a/b/c/d.jpg
,它将创建一个filder a,然后是filder b,然后是文件夹c文件d.jpg。您的文件名应该是a_b_c_d。jpg@Sergio试试这个
https://m.media-amazon.com//images/S/aplus-media/vc/aa7c7a6e-6ad8-4f14-997a-49b379fae2b4.jpg
https://m.media-amazon.com//images/S/aplus-media/vc/9eff75e4-c9b2-4fc6-8f88-5a8ac57d5aca.jpg
https://m.media-amazon.com//images/S/aplus-media/sota/bb556924-6691-4510-82aa-e13360fb5acf.jpg
https://m.media-amazon.com//images/S/aplus-media/vc/2e87df92-06e3-4fc2-9781-86f0e50ac867.jpg
https://m.media-amazon.com//images/S/aplus-media/vc/6bcafb85-8836-43ef-9d18-da3ce64b4e0b.jpg