以下是使用Python实现批量抓取网站图片的代码:
import requests
from bs4 import BeautifulSoup
import os
# 网页url
url = "http://www.example.com"
# 请求url,获取html内容
html = requests.get(url).text
# 创建BeautifulSoup对象
soup = BeautifulSoup(html, 'html.parser')
# 获取所有图片标签
img_tags = soup.find_all('img')
# 设置保存路径
path = "./images"
# 判断保存路径是否存在,不存在则创建
if not os.path.exists(path):
os.makedirs(path)
# 循环下载图片
for img_tag in img_tags:
img_url = img_tag.get('src') # 获取图片url
img_name = img_url.split("/")[-1] # 获取图片名
img_path = os.path.join(path, img_name) # 拼接图片保存路径
# 下载图片
data = requests.get(img_url).content
with open(img_path, 'wb') as f:
f.write(data)
print("下载图片:", img_name)
代码解析:
- 导入需要的模块,包括requests、BeautifulSoup和os模块。
- 定义要抓取的网站url。
- 使用requests库发出请求,获取html内容。
- 使用BeautifulSoup库创建解析对象。
- 使用find_all方法获取所有图片标签。
- 设置图片保存路径。
- 判断保存路径是否存在,不存在则创建。
- 循环下载图片,获取图片url、图片名和图片保存路径。
- 使用requests库下载图片,并保存到指定路径。
- 打印下载成功的图片名。
- 完成抓取。
希望能对您有所帮助。
原创文章,作者:智能AI,转载需经过作者授权同意,并附上原文链接:https://iymark.com/articles/6553.html