爬取猫和狗的图片各100张;在本地创建两个文件夹分别为cat和dog,将图片存入到相应文件夹。
时间: 2024-06-10 10:05:05 浏览: 200
爬取图片并保存
好的,您想要开发一个基于爬虫的程序,实现从网络上爬取100张猫和狗的图片,并将它们存放到本地的cat和dog文件夹中。为此,您可以按照如下步骤进行操作:
1. 确定图片源:您可以通过搜索引擎(比如Google、Bing)或图库网站(比如Pexels、Unsplash)来寻找猫和狗的图片。确定好图片源后,您可以考虑使用Python的requests、BeautifulSoup等库来进行爬取。
2. 编写代码:在代码中,您需要指定图片的下载链接和存储路径,并使用Python的urllib或requests等库来进行下载和存储。具体实现可以参考以下示例代码:
```
import requests
from bs4 import BeautifulSoup
import os
# 指定图片源和存储路径
url = 'https://www.pexels.com/search/'
headers = {'User-Agent': 'Mozilla/5.0'}
cat_dir = './cat'
dog_dir = './dog'
if not os.path.exists(cat_dir):
os.makedirs(cat_dir)
if not os.path.exists(dog_dir):
os.makedirs(dog_dir)
# 爬取猫和狗的图片各100张,并存储到相应文件夹中
for keyword, dirname in [('cat', cat_dir), ('dog', dog_dir)]:
for i in range(1, 101):
search_url = url + keyword + '/?page=' + str(i)
r = requests.get(search_url, headers=headers).text
soup = BeautifulSoup(r, 'html.parser')
imgs = soup.find_all('img', {'class': 'photo-item__img'})
for img in imgs:
src = img.get('srcset').split(',')[-1].strip().split(' ')[0]
# 下载图片
img_name = '{}_{}.jpg'.format(keyword, i)
img_path = os.path.join(dirname, img_name)
print('Download {} to {}'.format(src, img_path))
with open(img_path, 'wb') as f:
f.write(requests.get(src).content)
```
3. 运行程序:将上述代码保存为.py文件并运行即可开始爬取图片。成功运行后,您可以在本地cat和dog文件夹中看到下载好的100张猫和狗的图片。
希望上述代码和步骤可以帮助您完成图片爬取和存储任务。如果您仍有疑问或需要进一步帮助,请随时联系我,我会尽快回复您。
阅读全文