📜  如何在Python中从网页下载所有图像?(1)

📅  最后修改于: 2023-12-03 15:38:35.564000             🧑  作者: Mango

如何在Python中从网页下载所有图像?

在Python中,我们可以使用urllibBeautifulSoup库来从网页中下载所有图像。下面是具体步骤:

  1. 使用urllib库中的urlopen()函数打开目标网页。

  2. 使用BeautifulSoup库中的find_all()函数查找所有<img>标签。

  3. 遍历所有图像链接,使用urllib库中的urlretrieve()函数将图像下载到本地。

以下是代码片段实现以上步骤:

import urllib.request
from bs4 import BeautifulSoup
import os

url = '目标网页链接'
html = urllib.request.urlopen(url).read()

soup = BeautifulSoup(html, 'html.parser')
img_tags = soup.find_all('img')

for img in img_tags:
    img_url = img.get('src')
    if not img_url.startswith('http'):
        img_url = url + img_url
    try:
        file_name = os.path.basename(img_url)
        urllib.request.urlretrieve(img_url, file_name)
    except:
        print(f"Error downloading {img_url}")

以上代码将遍历网页中所有图片,如果图片链接不是以'http'开头,则会自动附加上目标网页链接。图片会下载到程序所在的文件夹中。

注意: 下载图片时需要考虑图片链接的可用性和下载速度,同时还需要注意网络访问的法律合规性。