python爬取图片并保存_爬虫:大量爬取百度图片——python
时间: 2023-11-12 15:46:08 浏览: 251
python爬取百度图片
以下是使用Python爬取百度图片并保存的示例代码:
```python
# 导入依赖库
import requests
import re
import os
# 设置搜索关键字
keyword = "美食"
# 设置图片保存路径
save_path = "./images/"
# 构造百度图片搜索的URL
url = "https://image.baidu.com/search/index?tn=baiduimage&word={}".format(keyword)
# 发送HTTP请求并获取响应
response = requests.get(url)
# 使用正则表达式从响应内容中提取图片URL列表
img_urls = re.findall('"objURL":"(.*?)",', response.text, re.S)
# 遍历图片URL列表并下载保存图片
for i, img_url in enumerate(img_urls):
try:
# 发送HTTP请求并获取响应
response = requests.get(img_url, timeout=10)
# 设置图片保存路径
img_path = os.path.join(save_path, "{}.jpg".format(i))
# 保存图片
with open(img_path, "wb") as f:
f.write(response.content)
print("成功下载第{:>3d}张图片!".format(i+1))
except Exception as e:
print("下载第{:>3d}张图片失败:{}".format(i+1, e))
```
解释一下上述代码的主要步骤:
1. 设置搜索关键字和图片保存路径
2. 构造百度图片搜索的URL
3. 发送HTTP请求并获取响应
4. 使用正则表达式从响应内容中提取图片URL列表
5. 遍历图片URL列表并下载保存图片
需要注意的是,这种方式只是简单的使用正则表达式从响应内容中提取图片URL,而没有使用任何API,因此可能存在一些不稳定性和容易被反爬虫机制封禁的风险。建议在使用时注意合理使用代理、设置请求头等防反爬措施。
阅读全文