使用 Python 下载网站所有图片

以下 Python 代码可以帮助您从任何网站下载所有图片:

import requests
from bs4 import BeautifulSoup
import os

url = 'https://example.com/' # 替换为目标网站的 URL
response = requests.get(url)

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

folder_name = 'downloaded_images' # 替换为你想要保存图像的文件夹名称
if not os.path.exists(folder_name):
    os.makedirs(folder_name)

for img in img_tags:
    img_url = img.get('src')
    if img_url.startswith('http'):
        response = requests.get(img_url)
        img_name = img_url.split('/')[-1]
        img_path = os.path.join(folder_name, img_name)
        with open(img_path, 'wb') as f:
            f.write(response.content)
            print(f'Downloaded {img_name}')

代码解释:

  1. 导入库: 导入 requests 库用于获取网站内容,BeautifulSoup 库用于解析 HTML,os 库用于创建文件夹。
  2. 设置 URL:url 变量替换为目标网站的 URL。
  3. 获取网站内容: 使用 requests.get(url) 获取网站内容。
  4. 解析 HTML: 使用 BeautifulSoup 解析 HTML 内容,并使用 soup.find_all('img') 找到所有图片标签。
  5. 创建文件夹: 创建一个名为 downloaded_images 的文件夹来保存图片,如果文件夹已存在,则不会创建。
  6. 循环下载图片: 遍历所有图片标签,获取图片 URL,判断 URL 是否以 http 开头,然后使用 requests.get(img_url) 下载图片。
  7. 保存图片: 使用 img_url.split('/')[-1] 获取图片文件名,并使用 os.path.join(folder_name, img_name) 生成图片路径,最后使用 with open(img_path, 'wb') as f 将图片内容写入文件。

注意事项:

  • 请确保您拥有从目标网站下载图片的合法权限。
  • 某些网站可能会阻止自动下载图片,您需要根据实际情况修改代码。
  • 如果遇到下载失败的情况,可以尝试使用代理服务器或调整代码逻辑。

希望这篇文章对您有所帮助!

Python 网站图片下载器:轻松获取所有图片

原文地址: http://www.cveoy.top/t/topic/lOco 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录