首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:如何使用Bing free tier web search

R:如何使用Bing free tier web search
EN

Stack Overflow用户
提问于 2019-12-07 05:33:49
回答 1查看 229关注 0票数 2

假设用户提供了卡和电话,并且拥有有效的Azure帐户。创建了一个免费的层服务。(有键和端点,类似xyz.Cogitiveservices.azure.com/bing/V7.0

使用免费的层(每秒3个搜索者,每月最多3个搜索者)(见这里https://azure.microsoft.com/en-us/pricing/details/cognitive-services/ )

是GET还是POST调用?正确的头参数是什么?他们只有不起作用的Python示例。https://docs.microsoft.com/en-us/azure/cognitive-services/bing-web-search/quickstarts/python

https://github.com/Azure-Samples/cognitive-services-REST-api-samples/blob/master/python/Search/BingWebSearchv7.py

问题是如何在R中实现它。

此代码不起作用

代码语言:javascript
复制
library(httr)
token='xxxxx'
server='https://xxxxx.cognitiveservices.azure.com/bing/v7.0/'
url=paste0(server,'search')
response = GET(url = url, 
               authenticate('',token, type = 'basic'))
response
res = content(response, encoding = 'json')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-01 04:58:29

对于/search终结点,需要具有非空搜索参数(q)的GET请求。

根本不支持Basic Authentication。相反,如Python示例所示,需要包含订阅密钥的header Ocp-Apim-Subscription-Key

因此,我使用以下代码成功了。这对你来说也应该是可行的。

代码语言:javascript
复制
library(httr)

server = "https://xxxxx.cognitiveservices.azure.com/bing/v7.0/"
token = "subscription key for Bing Search APIs v7"
search_term = "search term"
url = paste0(server, "search")

response = GET(url = url, 
    query = list(q = search_term), 
    add_headers(`Ocp-Apim-Subscription-Key` = token)
)
res = content(response, encoding = "json")
res

有关标头和查询参数的详细信息,请参阅Web Search API v7 reference

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59220614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档