我正在使用此查询https://api.datamarket.azure.com/Bing/Search/v1/Image?Query=delhaize%20logo连接Bing Image Search API并找到所需的图片。这非常好,但我喜欢Bing只返回jpg和png图像。我无法在任何地方找到如何使用Bing过滤图像格式。
我找到了有关图片过滤器的this页面,但没有在任何地方提及图片格式。
有什么想法吗?
答案 0 :(得分:1)
不,没有方法按图像格式进行过滤。你可以这样做(php):
$word = 'monitor';
$extension = 'jpg';
$request = 'https://api.datamarket.azure.com/Bing/Search/v1/Image?$format=json&Query=%27'.urlencode($word).'%27&Adult=%27Strict%27&ImageFilters=%27Size%3AMedium%2BAspect%3AWide%2BColor%3AColor%2BStyle%3APhoto%27';
$process = curl_init($request);
curl_setopt($process, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($process, CURLOPT_USERPWD, "$accountKey:$accountKey");
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($process);
$json = json_decode($response, true);
if(is_array($json['d']['results'])) {
foreach($json['d']['results'] as $image) {
if(pathinfo($image['MediaUrl'], PATHINFO_EXTENSION) == $extension) {
# update values
$urls[] = $image['MediaUrl'];
}
}
}
print_r($urls);
这将找到与“monitor”字符串匹配的图像,然后您只需在php中过滤它们。