一直自动爬取网站上的图片保存到指定文件夹中python实现
时间: 2023-08-15 15:05:09 浏览: 87
基于Python的茶叶信息爬虫设计源码
要实现持续自动爬取网站上的图片并保存到指定文件夹中,您可以使用循环和定时器来定期执行爬取操作。以下是一个示例代码:
```python
import requests
from bs4 import BeautifulSoup
import os
import time
def download_image(url, save_dir):
# 发送请求获取网页内容
response = requests.get(url)
# 解析网页
soup = BeautifulSoup(response.content, 'html.parser')
# 找到所有的图片标签
img_tags = soup.find_all('img')
# 创建保存图片的文件夹
if not os.path.exists(save_dir):
os.makedirs(save_dir)
# 遍历图片标签,下载并保存图片
for img_tag in img_tags:
img_url = img_tag['src']
# 判断图片链接是否为完整链接
if not img_url.startswith('http'):
img_url = url + img_url
try:
# 发送请求下载图片
response = requests.get(img_url)
# 获取图片的文件名
img_name = img_url.split('/')[-1]
# 保存图片到指定文件夹
with open(os.path.join(save_dir, img_name), 'wb') as f:
f.write(response.content)
print(f'Successfully downloaded {img_name}')
except Exception as e:
print(f'Failed to download image: {img_url}')
print(e)
# 要爬取的网页链接
url = 'https://example.com'
# 图片保存的文件夹路径
save_dir = 'images'
# 爬取间隔时间(秒)
interval = 60
while True:
# 调用函数进行图片下载
download_image(url, save_dir)
# 等待一段时间后再次执行爬取操作
time.sleep(interval)
```
在这个示例代码中,我们使用了一个无限循环来持续执行爬取操作。在每次循环中,先调用`download_image`函数来下载图片,然后通过`time.sleep`函数等待一段时间后再次执行循环。您可以根据需要调整`interval`变量来设置爬取间隔时间。
请注意,持续自动爬取网站上的图片可能会对目标网站的服务器造成压力,因此请确保您的爬取行为是合法且不会对网站造成过大的负担。另外,一些网站可能会有反爬虫机制,请遵守网站的规定并尊重其隐私政策。
阅读全文