Python 网站图片下载器:轻松获取所有图片
使用 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}')
代码解释:
- 导入库: 导入
requests库用于获取网站内容,BeautifulSoup库用于解析 HTML,os库用于创建文件夹。 - 设置 URL: 将
url变量替换为目标网站的 URL。 - 获取网站内容: 使用
requests.get(url)获取网站内容。 - 解析 HTML: 使用
BeautifulSoup解析 HTML 内容,并使用soup.find_all('img')找到所有图片标签。 - 创建文件夹: 创建一个名为
downloaded_images的文件夹来保存图片,如果文件夹已存在,则不会创建。 - 循环下载图片: 遍历所有图片标签,获取图片 URL,判断 URL 是否以
http开头,然后使用requests.get(img_url)下载图片。 - 保存图片: 使用
img_url.split('/')[-1]获取图片文件名,并使用os.path.join(folder_name, img_name)生成图片路径,最后使用with open(img_path, 'wb') as f将图片内容写入文件。
注意事项:
- 请确保您拥有从目标网站下载图片的合法权限。
- 某些网站可能会阻止自动下载图片,您需要根据实际情况修改代码。
- 如果遇到下载失败的情况,可以尝试使用代理服务器或调整代码逻辑。
希望这篇文章对您有所帮助!
原文地址: http://www.cveoy.top/t/topic/lOco 著作权归作者所有。请勿转载和采集!