如何在 Bing 网络搜索 API 结果中排除特定网站?
How to exclude particular websites in Bing Web Search API result?
我正在使用 Bing 网络搜索 API 在 Bing.com 中搜索一些信息。但是,对于某些搜索查询,我从搜索中获取的网站与我的目的无关。
例如,如果搜索查询是 今年夏天要读的书,有时 Bing returns youtube.com
或 amazon.com
因此。但是,我不想在我的搜索结果中出现这些类型的网站。所以,我想在搜索开始之前屏蔽这类网站。
这是我的示例代码:
params = {
"mkt": "en-US",
"setLang": "en-US",
"textDecorations": False,
"textFormat": "raw",
"responseFilter": "Webpages",
"q": "books to read this summer",
"count": 20
}
headers = {
"Ocp-Apim-Subscription-Key": MY_APY_KEY_HERE,
"Accept": "application/json",
"Retry-After": "1",
}
response = requests.get(WEB_SEARCH, headers=headers, params=params, timeout=15)
response.raise_for_status()
search_data = response.json()
search_data 变量包含我想在不迭代响应对象的情况下阻止的链接。特别是,我希望 Bing 不要在结果中包含 youtube 和 amazon。
我们将不胜感激。
已编辑:WEB_SEARCH 是网络搜索端点
在挖掘 Bing 网络搜索文档后,我找到了答案。在这里。
LINKS_TO_EXCLUDE = ["-site:youtube.com", "-site:amazon.com"]
def bing_data(user_query):
params = {
"mkt": "en-US",
"setLang": "en-US",
"textDecorations": False,
"textFormat": "raw",
"responseFilter": "Webpages",
"count": 30
}
headers = {
"Ocp-Apim-Subscription-Key": MY_APY_KEY_HERE,
"Accept": "application/json",
"Retry-After": "1",
}
# This is the line what I needed to have
params["q"] = user_query + " " + " ".join(LINKS_TO_EXCLUDE)
response = requests.get(WEB_SEARCH_ENDPOINT, headers=headers, params=params)
response.raise_for_status()
search_data = response.json()
return search_data
我正在使用 Bing 网络搜索 API 在 Bing.com 中搜索一些信息。但是,对于某些搜索查询,我从搜索中获取的网站与我的目的无关。
例如,如果搜索查询是 今年夏天要读的书,有时 Bing returns youtube.com
或 amazon.com
因此。但是,我不想在我的搜索结果中出现这些类型的网站。所以,我想在搜索开始之前屏蔽这类网站。
这是我的示例代码:
params = {
"mkt": "en-US",
"setLang": "en-US",
"textDecorations": False,
"textFormat": "raw",
"responseFilter": "Webpages",
"q": "books to read this summer",
"count": 20
}
headers = {
"Ocp-Apim-Subscription-Key": MY_APY_KEY_HERE,
"Accept": "application/json",
"Retry-After": "1",
}
response = requests.get(WEB_SEARCH, headers=headers, params=params, timeout=15)
response.raise_for_status()
search_data = response.json()
search_data 变量包含我想在不迭代响应对象的情况下阻止的链接。特别是,我希望 Bing 不要在结果中包含 youtube 和 amazon。
我们将不胜感激。
已编辑:WEB_SEARCH 是网络搜索端点
在挖掘 Bing 网络搜索文档后,我找到了答案。在这里。
LINKS_TO_EXCLUDE = ["-site:youtube.com", "-site:amazon.com"]
def bing_data(user_query):
params = {
"mkt": "en-US",
"setLang": "en-US",
"textDecorations": False,
"textFormat": "raw",
"responseFilter": "Webpages",
"count": 30
}
headers = {
"Ocp-Apim-Subscription-Key": MY_APY_KEY_HERE,
"Accept": "application/json",
"Retry-After": "1",
}
# This is the line what I needed to have
params["q"] = user_query + " " + " ".join(LINKS_TO_EXCLUDE)
response = requests.get(WEB_SEARCH_ENDPOINT, headers=headers, params=params)
response.raise_for_status()
search_data = response.json()
return search_data