2020 年 10 月 30 日,必应搜索 API 从认知服务移动到必应搜索服务。 本文档仅供参考。 有关更新的文档,请参阅
必应搜索 API 文档
。 关于为必应搜索创建新的 Azure 资源的说明,请参阅
通过 Azure 市场创建必应搜索资源
。
根据此快速入门中的说明对必应 Web 搜索 API 进行第一次调用。 这个 Python 应用程序会向该 API 发送一个搜索请求并显示 JSON 响应。 虽然此应用程序是使用 Python 编写的,但 API 是一种 RESTful Web 服务,与大多数编程语言兼容。
此示例作为 Jupyter 笔记本在
MyBinder
上运行。 若要运行它,请选择“启动活页夹”锁屏提醒:
Python 2.x 或 3.x
创建 Azure 资源
通过创建以下 Azure 资源之一开始使用必应 Web 搜索 API:
必应搜索 v7 资源
在删除资源前,可通过 Azure 门户使用。
使用免费定价层试用该服务,稍后升级到用于生产的付费层。
多服务资源
在删除资源前,可通过 Azure 门户使用。
在多个认知服务中对应用程序使用相同的密钥和终结点。
将
subscription_key
值替换为来自你的 Azure 帐户的有效订阅密钥。
subscription_key = "YOUR_ACCESS_KEY"
assert subscription_key
声明必应 Web 搜索 API 终结点。 你可以使用以下代码中的全局终结点,或者使用资源的 Azure 门户中显示的自定义子域终结点。
search_url = "https://api.bing.microsoft.com/v7.0/search"
(可选)通过替换 search_term
的值自定义搜索查询。
search_term = "Azure Cognitive Services"
此代码使用 requests
库调用必应 Web 搜索 API 并将结果作为 JSON 对象返回。 API 密钥是在 headers
字典中传入的,搜索词和查询参数是在 params
字典中传入的。
有关选项和参数的完整列表,请参阅必应 Web 搜索 API v7。
import requests
headers = {"Ocp-Apim-Subscription-Key": subscription_key}
params = {"q": search_term, "textDecorations": True, "textFormat": "HTML"}
response = requests.get(search_url, headers=headers, params=params)
response.raise_for_status()
search_results = response.json()
search_results
对象包括搜索结果以及相关查询和页等元数据。 此代码使用 IPython.display
库格式化响应并在浏览器中显示响应。
from IPython.display import HTML
rows = "\n".join(["""<tr>
<td><a href=\"{0}\">{1}</a></td>
<td>{2}</td>
</tr>""".format(v["url"], v["name"], v["snippet"])
for v in search_results["webPages"]["value"]])
HTML("<table>{0}</table>".format(rows))
GitHub 上的示例代码
若要在本地运行此代码,请参阅 GitHub 上提供的完整的示例。
必应 Web 搜索 API 单页应用教程
什么是必应 Web 搜索 API?
必应 Web 搜索 API v7 参考