Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aviso
Em 30 de outubro de 2020, as APIs de Pesquisa do Bing foram transferidas dos serviços de IA do Azure para os Serviços de Pesquisa do Bing. Esta documentação é fornecida apenas para referência. Para obter a documentação atualizada, consulte a documentação da API de pesquisa do Bing. Para obter instruções sobre como criar novos recursos do Azure para a Pesquisa do Bing, consulte Criar um recurso de Pesquisa do Bing por meio do Azure Marketplace.
Use este início rápido para saber como enviar solicitações de pesquisa para a API de Pesquisa de Imagem do Bing. Este aplicativo Python envia uma consulta de pesquisa para a API e exibe a URL da primeira imagem nos resultados. Embora esse aplicativo seja escrito em Python, a API é um serviço Web RESTful compatível com a maioria das linguagens de programação.
Pré-requisitos
Criar e inicializar o aplicativo
Crie um novo arquivo Python em seu IDE ou editor favorito e importe os módulos a seguir. Crie uma variável para sua chave de assinatura, ponto de extremidade de pesquisa e termo de pesquisa. Para
search_url
, você pode usar o ponto de extremidade global no código a seguir, ou usar o ponto de extremidade do subdomínio personalizado exibido no portal do Azure para seu recurso.import requests import matplotlib.pyplot as plt from PIL import Image from io import BytesIO subscription_key = "your-subscription-key" search_url = "https://api.cognitive.microsoft.com/bing/v7.0/images/search" search_term = "puppies"
Adicione sua chave de assinatura ao
Ocp-Apim-Subscription-Key
cabeçalho criando um dicionário e adicionando a chave como um valor.headers = {"Ocp-Apim-Subscription-Key" : subscription_key}
Criar e enviar uma solicitação de pesquisa
Crie um dicionário para os parâmetros da solicitação de pesquisa. Adicione seu termo de pesquisa ao
q
parâmetro. Defina o parâmetrolicense
parapublic
para pesquisar imagens no domínio público. Defina oimageType
paraphoto
para pesquisar apenas fotos.params = {"q": search_term, "license": "public", "imageType": "photo"}
Use a
requests
biblioteca para chamar a API de Pesquisa de Imagem do Bing. Adicione seu cabeçalho e parâmetros à solicitação e retorne a resposta como um objeto JSON. Obtenha as URLs para várias imagens em miniatura no campothumbnailUrl
da resposta.response = requests.get(search_url, headers=headers, params=params) response.raise_for_status() search_results = response.json() thumbnail_urls = [img["thumbnailUrl"] for img in search_results["value"][:16]]
Exibir a resposta
Crie uma nova figura com quatro colunas e quatro linhas usando a biblioteca matplotlib.
Iterar pelas linhas e colunas da figura e usar o método
Image.open()
da biblioteca PIL para adicionar miniaturas de imagem a cada espaço.Use
plt.show()
para desenhar a figura e exibir as imagens.f, axes = plt.subplots(4, 4) for i in range(4): for j in range(4): image_data = requests.get(thumbnail_urls[i+4*j]) image_data.raise_for_status() image = Image.open(BytesIO(image_data.content)) axes[i][j].imshow(image) axes[i][j].axis("off") plt.show()
Exemplo de resposta JSON
As respostas da API de Pesquisa de Imagem do Bing são retornadas como JSON. Esta resposta de exemplo foi truncada para mostrar um único resultado.
{
"_type":"Images",
"instrumentation":{
"_type":"ResponseInstrumentation"
},
"readLink":"images\/search?q=tropical ocean",
"webSearchUrl":"https:\/\/www.bing.com\/images\/search?q=tropical ocean&FORM=OIIARP",
"totalEstimatedMatches":842,
"nextOffset":47,
"value":[
{
"webSearchUrl":"https:\/\/www.bing.com\/images\/search?view=detailv2&FORM=OIIRPO&q=tropical+ocean&id=8607ACDACB243BDEA7E1EF78127DA931E680E3A5&simid=608027248313960152",
"name":"My Life in the Ocean | The greatest WordPress.com site in ...",
"thumbnailUrl":"https:\/\/tse3.mm.bing.net\/th?id=OIP.fmwSKKmKpmZtJiBDps1kLAHaEo&pid=Api",
"datePublished":"2017-11-03T08:51:00.0000000Z",
"contentUrl":"https:\/\/mylifeintheocean.files.wordpress.com\/2012\/11\/tropical-ocean-wallpaper-1920x12003.jpg",
"hostPageUrl":"https:\/\/mylifeintheocean.wordpress.com\/",
"contentSize":"897388 B",
"encodingFormat":"jpeg",
"hostPageDisplayUrl":"https:\/\/mylifeintheocean.wordpress.com",
"width":1920,
"height":1200,
"thumbnail":{
"width":474,
"height":296
},
"imageInsightsToken":"ccid_fmwSKKmK*mid_8607ACDACB243BDEA7E1EF78127DA931E680E3A5*simid_608027248313960152*thid_OIP.fmwSKKmKpmZtJiBDps1kLAHaEo",
"insightsMetadata":{
"recipeSourcesCount":0,
"bestRepresentativeQuery":{
"text":"Tropical Beaches Desktop Wallpaper",
"displayText":"Tropical Beaches Desktop Wallpaper",
"webSearchUrl":"https:\/\/www.bing.com\/images\/search?q=Tropical+Beaches+Desktop+Wallpaper&id=8607ACDACB243BDEA7E1EF78127DA931E680E3A5&FORM=IDBQDM"
},
"pagesIncludingCount":115,
"availableSizesCount":44
},
"imageId":"8607ACDACB243BDEA7E1EF78127DA931E680E3A5",
"accentColor":"0050B2"
}]
}
Próximas etapas
- O que é a API de Pesquisa de Imagem do Bing?
- Detalhes dos preços das APIs de Pesquisa do Bing
- Documentação dos serviços de IA do Azure
- referência da API de Pesquisa de Imagem do Bing