使用 urllib 库来爬取图片
import urllib.request# 图片的 URL 链接 image_url = "http://img.netbian.com/file/2023/0415/235643ofSA0.jpg"# 获取图片并保存到指定路径 urllib.request.urlretrieve(image_url, "image.jpg")
这段代码中,首先指定了要爬取的图片的 URL 链接,然后使用 urllib.request.urlretrieve()
函数将图片下载到指定的路径。你可以将 image_url
替换为实际的图片 URL,将 "image.jpg"
替换为保存图片的路径和文件名,如果路径不存在,系统会自动创建相应的文件夹。
需要注意的是,使用 urllib 库下载图片时,需要确保图片 URL 的有效性,否则程序可能会因为无法连接或者图片不存在等原因失败。同时,一些网站可能会针对爬虫做出限制,需要根据具体情况采取相应措施。
使用 urllib 库爬取多个图片可以通过循环遍历图片链接来实现,具体步骤如下:
- 导入 urllib.request 模块。
- 定义图片链接的列表或从网页中爬取图片链接并保存到列表中。
- 使用循环遍历列表中的图片链接。
- 使用 urllib.request.urlretrieve() 方法下载图片并保存到本地文件。
下面是示例代码:
import urllib.request# 图片链接列表 img_urls = ['http://img.netbian.com/file/2023/0414/small234647agSR11681487207.jpg','http://img.netbian.com/file/2023/0415/small2350329sMTe1681573832.jpg','http://img.netbian.com/file/2023/0414/small233653zJreD1681486613.jpg' ]# 循环遍历图片链接并下载保存 for img_url in img_urls:# 截取图片链接中的文件名作为本地文件名file_name = img_url.split('/')[-1]# 下载图片并保存到本地文件urllib.request.urlretrieve(img_url, file_name)
注:通过以上代码可以爬取图片,但是由于爬取网站图片可能存在版权问题,请遵守相关法律规定,不要非法爬取、使用图片。
可以使用urllib库中的urlopen函数获取网页的源代码,然后使用正则表达式来匹配其中的图片链接,最后再使用urllib库中的urlretrieve函数下载图片。
下面是一个示例代码,它可以获取指定URL的页面源代码,并下载其中的所有图片到本地。
import re import urllib.request# 获取页面源代码 response = urllib.request.urlopen('http://www.netbian.com/') html = response.read()# 使用正则表达式匹配图片链接 img_pattern = re.compile('img .*?src="(.*?)"') img_urls = re.findall(img_pattern, str(html))# 下载图片并保存到本地 for img_url in img_urls:urllib.request.urlretrieve(img_url, img_url.split('/')[-1])
在上面的代码中,我们使用了正则表达式匹配了所有img标签中的src属性值,然后使用urlretrieve来将每张图片下载下来并保存在当前目录下。