【问题标题】:bing news search API必应新闻搜索 API
【发布时间】:2018-02-22 18:37:56
【问题描述】:

Bing 新闻搜索 API 的“新鲜度”参数如何工作?

我正在编写一个程序来调用必应新闻搜索 API。 我将“新鲜度”参数设置为“月”。然而,必应返回的内容可能早在 6 个月前。我是怎么知道的?我使用 offset 参数来检索返回结果的最后一个新页面,发现它们可能长达 6 个月(有些甚至 2 年 odl)。显然,这个结果与我输入的fresness 参数相矛盾。任何人都可以对此有所了解吗?非常感谢,

以下是sn-p的代码: 基本上,我将新鲜度设置为月(freshness=Month)并按天对输出进行排序(sortBy=Day)。

   let bing_news_search = function (search) {
console.log('Searching news for: ' + term);
let request_params = {
    method: 'GET',
    hostname: host,
    path: path + '?q=' + encodeURIComponent('Microsoft') +'&count=100'+'&freshness=Month'+'&sortBY=Date'+'&offset=4979900',
    headers: {
        'Ocp-Apim-Subscription-Key': subscriptionKey,
    } 

【问题讨论】:

  • 我相信 Freshness=Month 参数是正确的。如果您设置freshness=day 或freshness=week,是否会发生相同类型的行为?
  • 同理。月、周或日没有任何区别。事实上,前100篇返回的文章中有几篇是去年我将新鲜度设置为天或周时(新鲜度=周/天),就好像输入的新鲜度参数根本没有做任何事情一样.
  • 这里是代码,你可以自己试试。让 request_params = { 方法:'GET',主机名:主机,路径:路径 + '?q=' + encodeURIComponent('Microsoft') +'&count=100',标头:{'Ocp-Apim-Subscription-Key':订阅密钥,}
  • 感谢您的反馈。让我们试一试!

标签: azure microsoft-cognitive bing bing-api


【解决方案1】:

将其移至在 cmets 中验证的答案:

问题在于 &count 设置为 100。当前限制为 50。正确设置此数字后,API 将按预期工作。

所以它看起来像这样:

 let bing_news_search = function (search) {
console.log('Searching news for: ' + term);
let request_params = {
    method: 'GET',
    hostname: host,
    path: path + '?q=' + encodeURIComponent('Microsoft') +'&count=50'+'&freshness=Month'+'&sortBY=Date'+'&offset=4979900',
    headers: {
        'Ocp-Apim-Subscription-Key': subscriptionKey,

【讨论】:

  • 我对此有疑问,我在新鲜度参数方面遇到问题。在link 网站上的文档中,他们提到我们可以使用单个日期以及一个日期范围作为新鲜度参数。我尝试相同,但它不适合我。以下是我的参数列表: params = {"q": search_term, "textDecorations": True, "textFormat": "HTML", "count": 50, "freshness": '2020-04-27'} 其中,我在新鲜度参数中遇到错误。