用Python搜索最好看的手绘圣诞树图片并下载到文件夹中,搜索引擎使用bing,直接给出完整代码
时间: 2023-09-22 11:06:41 浏览: 71
### 回答1:
首先,您需要安装 Python 的 requests 库和 Pillow 库。
然后,您可以使用以下代码来搜索最好看的手绘圣诞树图片并下载到文件夹中:
```python
import requests
from PIL import Image
# 定义保存图片的文件夹路径
folder_path = 'path/to/folder'
# 定义要搜索的图片的关键字
keyword = '手绘圣诞树'
# 定义 Bing Search API 的订阅密钥
subscription_key = 'your_subscription_key'
# 定义 Bing Search API 的基本 URL
search_url = "https://api.cognitive.microsoft.com/bing/v7.0/images/search"
# 构造请求头
headers = {
"Ocp-Apim-Subscription-Key": subscription_key
}
# 构造请求参数
params = {
"q": keyword,
"count": "10", # 搜索结果的数量,这里设置为 10
"offset": "0", # 搜索结果的偏移量,这里设置为 0
"mkt": "zh-CN", # 市场,这里设置为中国市场
"safeSearch": "Moderate" # 安全搜索级别,这里设置为 "Moderate"
}
# 发送请求
response = requests.get(search_url, headers=headers, params=params)
# 如果请求成功
if response.status_code == 200:
# 解析响应结果
results = response.json()
# 遍历搜索结果
for image in results['value']:
# 获取图片 URL
image_url = image['contentUrl']
# 获取图片后缀
extension = image_url.split('.')[-1]
# 构造保存图片的文件名
filename = f"{keyword}_{image['id']}.{extension}"
# 拼
### 回答2:
以下是使用Python搜索最好看的手绘圣诞树图片并下载到文件夹中的代码:
```python
import requests
from bs4 import BeautifulSoup
import urllib
# 通过Bing搜索引擎获取手绘圣诞树图片的URL
def search_christmas_tree():
query = "手绘圣诞树"
url = f"https://www.bing.com/images/search?q={query}"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0;Win64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
image_results = soup.find_all("a", class_="thumb")
# 提取图片URL
image_urls = []
for image in image_results:
image_urls.append(image["href"])
return image_urls
# 下载图片到本地文件夹
def download_images(image_urls):
folder_path = "./圣诞树图片/" # 保存图片的文件夹路径
count = 1
for url in image_urls:
try:
urllib.request.urlretrieve(url, folder_path + f"tree{count}.jpg")
print(f"成功下载图片{count}")
count += 1
except:
print(f"下载图片{count}失败")
# 主函数
def main():
image_urls = search_christmas_tree()
download_images(image_urls)
if __name__ == "__main__":
main()
```
在代码中,我们首先导入了`requests`、`BeautifulSoup`和`urllib`模块来辅助我们进行网页请求、解析和图片下载操作。
`search_christmas_tree`函数使用`requests`库发送GET请求到Bing搜索引擎,并使用`BeautifulSoup`解析返回的HTML内容。我们通过提取`<a class="thumb">`标签的`href`属性,获取到所有手绘圣诞树图片的URL。
`download_images`函数则负责将获取到的图片URL逐个下载保存到指定的文件夹路径中。我们使用`urllib`模块中的`urlretrieve`函数来下载图片,并指定保存的文件名。
最后,在主函数`main`中我们调用以上两个函数,实现搜索并下载手绘圣诞树图片的功能。请确保在运行代码前已经安装了所需的Python库,如`requests`和`BeautifulSoup`等。
请注意,在运行代码之前,需要提前创建一个名为"圣诞树图片"的文件夹用于保存下载的图片。
### 回答3:
下面是使用Python搜索最好看的手绘圣诞树图片,并将其下载到文件夹中的代码:
```python
import requests
import json
import urllib.parse
import os
# 设置搜索关键字
search_query = '手绘圣诞树'
# 设置搜索结果数量
count = 10
# 设置下载文件夹路径
download_folder = "圣诞树图片"
# 创建文件夹
if not os.path.exists(download_folder):
os.makedirs(download_folder)
# 使用 Bing 搜索 API 进行搜索
def bing_image_search(query, count):
subscription_key = "<在这里输入你的Bing搜索API密钥>"
assert subscription_key
search_url = "https://api.bing.microsoft.com/v7.0/images/search"
headers = {"Ocp-Apim-Subscription-Key": subscription_key}
params = {"q": query, "count": count}
response = requests.get(search_url, headers=headers, params=params)
response.raise_for_status()
search_results = response.json()
return search_results
# 解析搜索结果中的图片链接并下载到文件夹中
def download_images(search_results):
for i, image_result in enumerate(search_results['value']):
image_url = image_result['contentUrl']
image_extension = os.path.splitext(image_url)[1]
image_path = os.path.join(download_folder, str(i) + image_extension)
urllib.request.urlretrieve(image_url, image_path)
# 执行搜索并下载图片
search_results = bing_image_search(search_query, count)
download_images(search_results)
print(f"成功下载了 {count} 张 {search_query} 的图片到文件夹 {download_folder} 中!")
```
请注意,在上述代码中的`<在这里输入你的Bing搜索API密钥>`的位置,你需要将其替换为你自己的Bing搜索API密钥。你可以访问Bing搜索API的官方网站(https://azure.microsoft.com/zh-cn/try/cognitive-services/?api=bing-image-search-api)来获取API密钥。
此代码将会使用Bing搜索API搜索到最相关的手绘圣诞树图片,并将其下载到指定的文件夹中。搜索结果数量由`count`变量指定,图片将以其在搜索结果中的位置进行命名,保存为相应的文件格式。完成下载后,会在控制台输出成功下载的图片数量和文件夹路径。