今天我将使用python的requests和BeautifulSoup库批量抓取网站上的图片,并将其保存在一个文件目录中。
import requests
from bs4 import BeautifulSoup
import os
# 目标网站的URL
url = 'https://example.com'
# 发送GET请求
response = requests.get(url)
# 使用BeautifulSoup解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
# 提取所有的图片标签
img_tags = soup.find_all('img')
# 创建一个目录来保存图片
os.makedirs('downloaded_images', exist_ok=True)
# 遍历所有图片标签
for img in img_tags:
img_url = img['src']
# 发送GET请求获取图片内容
img_response = requests.get(img_url)
# 从URL中提取文件名
img_name = os.path.join('downloaded_images', os.path.basename(img_url))
# 保存图片到文件目录
with open(img_name, 'wb') as f:
f.write(img_response.content)
print(f'保存图片 {img_name}')
print('图片下载完成')
这段代码首先发送一个GET请求到目标网站,然后使用BeautifulSoup库解析HTML内容,提取所有的图片标签。接着,它创建一个名为downloaded_images的文件目录,遍历所有的图片标签,发送GET请求获取图片内容,并将其保存在文件目录中。最后,它会打印出图片保存的信息。
请注意,这只是一个简单的示例,实际应用中可能需要处理更多的异常情况和优化。同时,尊重网站的robots.txt文件和使用合法的方式进行网络爬取是非常重要的。