快速入門:傳送查詢至以 Python 撰寫的 Bing 當地商家搜尋 API
警告
2020 年 10 月 30 日,Bing 搜尋 API 已從 Azure AI 服務移至Bing 搜尋服務。 本文件僅供參考之用。 如需更新的文件,請參閱 Bing 搜尋 API 文件。 如需針對 Bing 搜尋建立新 Azure 資源的指示,請參閱透過 Azure Marketplace 建立 Bing 搜尋資源。
使用此快速入門了解如何向 Bing 當地企業搜尋 API 傳送要求,該 API 是 Azure 認知服務。 雖然此簡單應用程式是以 Python 撰寫,但 API 是一種與任何程式語言相容的 RESTful Web 服務,可產生 HTTP 要求,並剖析 JSON。
此範例應用程式會從 API 取得搜尋查詢的當地回應資料。
必要條件
- Azure 訂用帳戶 - 建立免費帳戶
- Python 2.x 或 3.x。
- 在擁有 Azure 訂用帳戶之後,在 Azure 入口網站中建立 Bing 搜尋資源,以取得您的金鑰和端點。 在其部署後,按一下 [前往資源]。
執行完整應用程式
下列範例會取得本地化的結果,其會在下列步驟中實作:
- 宣告變數以依主機及路徑指定端點。
- 指定查詢參數。
- 定義建立要求的搜尋函式,並新增
Ocp-Apim-Subscription-Key
標題。 - 設定
Ocp-Apim-Subscription-Key
標頭。 - 進行連線,並傳送要求。
- 列印 JSON 結果。
此示範的完整程式碼如下:
import http.client, urllib.parse
import json
# Replace the subscriptionKey string value with your valid subscription key.
subscriptionKey = 'YOUR-SUBSCRIPTION-KEY'
host = 'api.cognitive.microsoft.com'
path = '/bing/v7.0/localbusinesses/search'
query = 'restaurant in Bellevue'
params = '?q=' + urllib.parse.quote (query) + '&mkt=en-us'
def get_local():
headers = {'Ocp-Apim-Subscription-Key': subscriptionKey}
conn = http.client.HTTPSConnection (host)
conn.request ("GET", path + params, None, headers)
response = conn.getresponse ()
return response.read ()
result = get_local()
print (json.dumps(json.loads(result), indent=4))