【问题标题】:How to get more than 50 results from Bing search API?如何从 Bing 搜索 API 获得 50 多个结果?
【发布时间】:2014-08-28 05:46:01
【问题描述】:

我已将以下代码与 Bing 图片 API 一起使用来搜索图片。但是代码只得到 50 个结果。如何获得更多结果?

$acctKey = 'Account key here';
$rootUri = 'https://api.datamarket.azure.com/Bing/Search';
$query = 'Kitchen';
$serviceOp = 'Image';
$market ='en-us';
$query = urlencode("'$query'");
$market = urlencode("'$market'");
$requestUri = "$rootUri/$serviceOp?\$format=json&Query=$query&Market=$market";
$auth = base64_encode("$acctKey:$acctKey");
$data = array(  
            'http' => array(
                        'request_fulluri' => true,
                        'ignore_errors' => true,
                        'header' => "Authorization: Basic $auth"
                        )
            );
$context = stream_context_create($data);
$response = file_get_contents($requestUri, 0, $context);
$response=json_decode($response);
echo "<pre>";
print_r($response);
echo "</pre>";

【问题讨论】:

  • Bing API v1 documentation 的可能重复项
  • 不完全是重复的,但它解释了每次查询只能得到 50 个结果,但是可以使用 skip 参数指定从哪里开始(这样您就可以进行多个查询来构建更大的结果集)
  • 当我使用像 $requestUri.="&$skip=50" 这样的跳过参数时,它返回空结果
  • 你必须包括所有其他参数...

标签: php bing bing-api


【解决方案1】:

您应该附加您的请求 $top=50&$skip=0 以获得前 50 个结果,并使用 $top=50&$skip=51 获得接下来的 50 个结果,最好创建 API 密钥以获得第二个结果请求为 Bing 允许每秒 1 次事务,如果超出限制,您可能会收到此消息错误:“503 The number 订阅的每分钟请求数已达到允许的最大阈值。”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 2020-08-31
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多