写一个爬虫,用来爬取百度图片。
时间: 2024-03-28 12:29:02 浏览: 59
爬虫_python_一款抓取百度唯美意境图片的程序
好的,以下是一个基本的爬虫脚本,可以用来爬取百度图片:
```python
import os
import requests
from bs4 import BeautifulSoup
# 定义要爬取的关键词和页数
keyword = '猫'
page = 1
# 创建保存图片的文件夹
if not os.path.exists(keyword):
os.mkdir(keyword)
# 循环爬取每一页
while True:
# 构造请求URL
url = f'https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word={keyword}&pn={page*20}'
# 发送请求并解析响应内容
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 获取所有图片的链接
links = soup.find_all('img', class_='main_img')
# 如果没有图片链接,说明已经爬取完毕,退出循环
if not links:
break
# 循环下载每张图片
for i, link in enumerate(links):
try:
# 发送请求并保存图片到本地
img_url = link['src']
img_data = requests.get(img_url, timeout=10).content
with open(f'{keyword}/{page*20+i}.jpg', 'wb') as f:
f.write(img_data)
except:
print(f'下载第{page*20+i}张图片出错')
# 下一页
page += 1
print('爬取完毕!')
```
该脚本会先创建一个以关键词为名称的文件夹,然后循环爬取每一页的图片链接,并下载到本地保存。你可以根据需要修改关键词和页数。但请注意,爬取网站内容时应遵守相关法律法规,不得用于商业用途或侵犯他人权益。
阅读全文