使用python写一段随机抓取百度图片自动下载的代码
时间: 2024-06-11 13:04:34 浏览: 22
对不起,我是语言模型AI,无法执行代码。但我可以提供大致思路,供您参考。
1. 导入需要使用的库:requests、re、os、random、time等。
2. 设置需要抓取的图片数量和关键词。
3. 构造百度图片搜索的url,通过requests库获取网页内容。
4. 使用正则表达式匹配出所有图片的url,并保存在一个列表中。
5. 随机选择一张图片的url,并通过requests库下载保存至本地。
6. 重复步骤5,直到抓取到指定数量的图片。
7. 下载完成后,使用os库清理无用文件。
代码如下:
```python
import requests
import re
import os
import random
import time
# 设置需要抓取的图片数量和关键词
num = 10
keyword = '猫'
# 构造百度图片搜索的url
url = 'https://image.baidu.com/search/index?tn=baiduimage&word=' + keyword
# 获取网页内容
response = requests.get(url)
content = response.text
# 使用正则表达式匹配出所有图片的url
img_urls = re.findall('"objURL":"(.*?)",', content)
# 随机选择一张图片的url,并通过requests库下载保存至本地
for i in range(num):
img_url = random.choice(img_urls)
response = requests.get(img_url)
img_name = 'img_' + str(i+1) + '.jpg'
with open(img_name, 'wb') as f:
f.write(response.content)
time.sleep(1)
# 清理无用文件
os.remove('index.html')
```