警告
在 2020 年 10 月 30 日,Bing 搜尋 API 從 Azure AI 服務移至 Bing 搜尋服務。 本文件僅供參考之用。 如需更新的文件,請參閱 Bing 搜尋 API 文件。 如需針對 Bing 搜尋建立新 Azure 資源的指示,請參閱透過 Azure Marketplace 建立 Bing 搜尋資源。
使用這個快速上手指南,進行您第一次對 Bing 網頁搜尋 API 的呼叫。 此 Python 應用程式會將搜尋要求傳送至 API,並顯示 JSON 回應。 雖然此應用程式是以 Python 撰寫,但 API 是與大部分程式設計語言相容的 RESTful Web 服務。
此範例會在 MyBinder 上以 Jupyter Notebook 的形式執行。 若要執行它,請選取啟動系結器徽章:
先決條件
建立 Azure 資源
建立下列其中一個 Azure 資源,以開始使用 Bing Web 搜尋 API:
- 可透過 Azure 入口網站取得,直到您刪除資源為止。
- 使用免費定價層來試用服務,稍後升級至生產環境的付費層。
- 可透過 Azure 入口網站取得,直到您刪除資源為止。
- 針對您的應用程式,跨多個 Azure AI 服務使用相同的金鑰和端點。
定義變數
使用您 Azure 帳戶中的有效訂閱金鑰替換
subscription_key值。subscription_key = "YOUR_ACCESS_KEY" assert subscription_key宣告 Bing Web 搜尋 API 端點。 您可以在下列程式代碼中使用全域端點,或使用 Azure 入口網站中針對您的資源顯示 自定義子域 端點。
search_url = "https://api.bing.microsoft.com/v7.0/search"可以選擇性地藉由取代
search_term的值來自定義搜尋查詢。search_term = "Azure Cognitive Services"
提出要求
此程式代碼會使用連結 requests 庫來呼叫 Bing Web 搜尋 API,並將結果傳回為 JSON 物件。 API 金鑰會 headers 傳入字典,而搜尋字詞和查詢參數則會在字典中 params 傳遞。
如需選項和參數的完整清單,請參閱 Bing 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 上可用的完整範例。