這個 API 可以讓我們使用程式搜尋 Bing 瀏覽器上的資料,並且設定相關搜尋條件與搜尋內容。
先到以下網址,滑到網頁下方後,取得金鑰
https://azure.microsoft.com/zh-tw/try/cognitive-services/my-apis/?apiSlug=search-api-v7
之後使用如下程式碼:
const https = require("https");
const param =
"Be a rapper";
var options = {
host: "api.cognitive.microsoft.com",
port: 443,
path: `/bing/v7.0/search?q=${encodeURIComponent(param)}`,
method: "GET",
headers: {
"Ocp-Apim-Subscription-Key": "填上金鑰"
}
};
const req = https.request(options, res => {
res.on("data", function(data) {
console.log(data.toString());
});
});
req.on("error", e => {
console.error(e);
});
req.end();
回傳結果如下:
answerCount
> 假設回傳結果包含 webpages、images、videos,如果此值放2,則只會回傳 webpages 與 images
count
> 預設為10,最大為50,傳回數字指定的結果數量
cc
> 等同於 country code,需要搭配 `Accept-Language` Header
freshness
> 只回傳新鮮的搜尋結果,意思是 Bing 上次抓取到該網頁的日期小於其值的才會回傳,例如 `Day` 則只回傳 Bing 在 24 小時內抓到的網頁。
mkt
> 通常為國家名:例如:en-US,會搭配 `setLang`,通常和 cc 會選擇其中一個設定。
promote
> 在 answerCount 加上例外條件,如果 answerCount 為 2,但是此值為 videos,則也會把 videos 結果回傳。
q
> 一些附帶的進階搜尋條件,可參考:https://msdn.microsoft.com/en-us/library/ff795620.aspx
responseFilter
> 和 promote 相反,用來移除特定搜尋種類。
safeSearch
> 用來移除成人相關色情內容。
textDecorations
> 是否使用 Unicode 或 HTML tags 當作 marker。
textFormat
> 搭配 textDecorations,用來決定哪一種 text decorations,可以是 RAW 或 HTML。
官方文件:
https://docs.microsoft.com/zh-tw/rest/api/cognitiveservices/bing-web-api-v7-reference#responsefilter
如此我們就可以方便的使用 Azure Bing Search
找到我們想找的東西了,你最想找的東西是什麼呢?