Schauen Sie sich ohne weiteres den Code an.
import requests
from bs4 import BeautifulSoup
import os
def download_images(keyword, num_images):
# 创建文件夹来保存图片
if not os.path.exists(keyword):
os.makedirs(keyword)
# 构建搜索URL
search_url = f'https://www.google.com/search?q={keyword}&tbm=isch'
# 发送HTTP请求并获取响应内容
response = requests.get(search_url)
response.raise_for_status()
# 使用BeautifulSoup解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
# 查找所有图片链接
image_links = soup.find_all('img', limit=num_images)
# 下载图片
count = 0
for link in image_links:
image_url = link['src']
if image_url.startswith('https://'):
response = requests.get(image_url, stream=True)
response.raise_for_status()
# 保存图片到指定文件夹
file_name = os.path.join(keyword, f'image_{count}.jpg')
with open(file_name, 'wb') as file:
for chunk in response.iter_content(8192):
file.write(chunk)
count += 1
if count == num_images:
break
print(f'{count}张图片已下载到{keyword}文件夹')
# 示例用法:下载5张猫的图片
download_images('猫', 5)
requests
Bitte stellen Sie sicher, dass die Module und installiert sindbeautifulsoup4
.(Kann
pip install requests beautifulsoup4
über installiert werden)Im obigen Code definieren wir zunächst eine
download_images
Funktion, die Schlüsselwörter und die Anzahl der herunterzuladenden Bilder als Parameter akzeptiert. Anschließend erstellen wir einen mit Schlüsselwörtern benannten Ordner, um die Bilder zu speichern und die URL für die Google-Bildersuche zu erstellen.Verwenden Sie
requests
das Modul, um HTTP-Anfragen zu senden undBeautifulSoup
den HTML-Antwortinhalt zu analysieren. Anschließend laden wir die Bilder einzeln herunter, indem wir alle Bildlinks finden.Beachten Sie, dass wir beim Herunterladen von Bildern einen Parameter verwenden
stream=True
, um Streaming-Downloads zu ermöglichen, was bei großen Bilddateien hilfreich ist. Die heruntergeladenen Bilder werden in Ordnern gespeichert, die mit Schlüsselwörtern benannt sind, und die Dateinamen werden entsprechendimage_0.jpg
usw. benanntimage_1.jpg
.Sie können
download_images
den Batch-Download starten, indem Sie die Funktion aufrufen und Schlüsselwörter sowie die Anzahl der herunterzuladenden Bilder übergeben. Im Beispiel haben wir 5 Bilder von Katzen heruntergeladen.