网络爬虫 - 如何将图像下载到文件夹中使用Python

2 投票
2 回答
5017 浏览
提问于 2025-04-18 10:20

我有一段代码,想要下载图片并把它保存到一个文件夹里,但我现在得到的只是图片的链接(src)。我在Stack Overflow上查找过相关内容,发现了这个关于用Python、urllib和BeautifulSoup批量下载文本和图片的帖子,但我不知道该怎么继续。

这是我的代码,到目前为止我尝试过的内容:

elm5=soup.find('div', id="dv-dp-left-content")
img=elm5.find("img")
src = img["src"]
print src

我该如何使用这些链接下载图片并保存到一个文件夹里呢?

2 个回答

1

src 属性里包含了图片的链接。

你可以用下面的代码来下载这张图片:

urllib.request.urlretrieve(src, "image.jpg")

3

编辑:2021年7月19日

urllib(Python 2)更新为 urllib.request(Python 3)


import urllib.request

f = open('local_file_name','wb')
f.write(urllib.request.urlopen(src).read())
f.close()

src 必须是完整的路径,比如说 http://hostname.com/folder1/folder2/filename.ext

如果 src/folder1/folder2/filename.ext,你需要加上 http://hostname.com/
如果 srcfolder2/filename.ext,你需要加上 http://hostname.com/folder1/
等等。


编辑:这是一个如何下载 StackOverflow 标志的例子 :)

import urllib.request

f = open('stackoverflow.png','wb')
f.write(urllib.request.urlopen('https://cdn.sstatic.net/Img/unified/sprites.svg?v=fcc0ea44ba27').read())
f.close()

撰写回答