urllib爬取图片

使用 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 库爬取多个图片可以通过循环遍历图片链接来实现,具体步骤如下:

  1. 导入 urllib.request 模块。
  2. 定义图片链接的列表或从网页中爬取图片链接并保存到列表中。
  3. 使用循环遍历列表中的图片链接。
  4. 使用 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来将每张图片下载下来并保存在当前目录下。

猜你喜欢

转载自blog.csdn.net/Relievedz/article/details/130520664