用Python爬取百度图片
时间: 2023-12-24 21:48:55 浏览: 70
python爬取百度图片
以下是使用Python爬取百度图片的示例代码:
```python
import requests
from bs4 import BeautifulSoup
import os
# 搜索关键词
keyword = input("请输入搜索关键词:")
# 创建保存图片的目录
if not os.path.exists(keyword):
os.mkdir(keyword)
# 设置请求头信息
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 搜索页面的url
url = 'https://image.baidu.com/search/index?tn=baiduimage&word=' + keyword
# 发送请求
response = requests.get(url, headers=headers)
# 解析html
soup = BeautifulSoup(response.text, 'html.parser')
# 获取所有图片的url
img_urls = []
for img in soup.find_all('img'):
img_url = img.get('data-src') or img.get('src')
if img_url:
img_urls.append(img_url)
# 下载图片
for i, url in enumerate(img_urls):
response = requests.get(url, headers=headers)
with open(keyword + '/' + keyword + str(i+1) + '.jpg', 'wb') as f:
f.write(response.content)
print('已下载第{}张图片'.format(i+1))
```
该代码会先要求用户输入搜索关键词,然后创建一个以关键词命名的文件夹用于保存图片。接着发送请求获取搜索页面的html,解析html获取所有图片的url。最后循环下载图片并保存到文件夹中。注意,该代码可能会下载到一些非常奇怪的图片,因此需要手动筛选。
阅读全文