网络爬虫 - 如何将图像下载到文件夹中使用Python
我有一段代码,想要下载图片并把它保存到一个文件夹里,但我现在得到的只是图片的链接(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/
。
如果 src
是 folder2/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()