Hızlı Başlangıç: Bing Web Araması API’sini çağırmak için Python kullanma
Uyarı
30 Ekim 2020'de Bing Arama API'leri Azure yapay zeka hizmetlerinden Bing Arama Hizmetlerine taşındı. Bu belgeler yalnızca başvuru için sağlanır. Güncelleştirilmiş belgeler için Bing arama API'sinin belgelerine bakın. Bing araması için yeni Azure kaynakları oluşturma yönergeleri için bkz. Azure Market aracılığıyla Bing Arama kaynağı oluşturma.
Bing Web Araması API'sine ilk çağrınızı yapmak için bu hızlı başlangıcı kullanın. Bu Python uygulaması API'ye bir arama isteği gönderir ve JSON yanıtını gösterir. Bu uygulama Python'da yazılmış olsa da, API çoğu programlama diliyle uyumlu bir RESTful Web hizmetidir.
Bu örnek MyBinder üzerinde bir Jupyter notebook olarak çalıştırılır. Çalıştırmak için bağlayıcıyı başlatma rozetini seçin:
Önkoşullar
Azure kaynağı oluşturma
Aşağıdaki Azure kaynaklarından birini oluşturarak Bing Web Araması API'sini kullanmaya başlayın:
- Kaynağı silene kadar Azure portal aracılığıyla kullanılabilir.
- Hizmeti denemek için ücretsiz fiyatlandırma katmanını kullanın ve daha sonra üretim için ücretli bir katmana yükseltin.
- Kaynağı silene kadar Azure portal aracılığıyla kullanılabilir.
- Birden çok Azure AI hizmeti genelinde uygulamalarınız için aynı anahtarı ve uç noktayı kullanın.
Değişkenleri tanımlama
subscription_key
değerini Azure hesabınızdan geçerli bir abonelik anahtarı ile değiştirin.subscription_key = "YOUR_ACCESS_KEY" assert subscription_key
Bing Web Araması API’si uç noktasını tanımlayın. Genel uç noktayı aşağıdaki kodda kullanabilir veya kaynağınız için Azure portal görüntülenen özel alt etki alanı uç noktasını kullanabilirsiniz.
search_url = "https://api.bing.microsoft.com/v7.0/search"
İsteğe bağlı olarak, değerini
search_term
değiştirerek arama sorgusunu özelleştirin.search_term = "Azure Cognitive Services"
İstekte bulunma
Bu kod, Bing Web Araması API'sini çağırmak ve sonuçları JSON nesnesi olarak döndürmek için kitaplığını kullanır requests
. API anahtarı headers
dizininde, arama terimi ile sorgu parametreleri de params
dizininde iletilir.
Seçeneklerin ve parametrelerin tam listesi için bkz . Bing Web Araması API'si v7.
import requests
headers = {"Ocp-Apim-Subscription-Key": subscription_key}
params = {"q": search_term, "textDecorations": True, "textFormat": "HTML"}
response = requests.get(search_url, headers=headers, params=params)
response.raise_for_status()
search_results = response.json()
Yanıtı biçimlendirme ve görüntüleme
search_results
nesnesi, arama sonuçlarını ve ilgili sorgular ve sayfalar gibi meta verileri içerir. Bu kodda yanıtı biçimlendirmek ve tarayıcınızda görüntülemek için IPython.display
kitaplığı kullanılır.
from IPython.display import HTML
rows = "\n".join(["""<tr>
<td><a href=\"{0}\">{1}</a></td>
<td>{2}</td>
</tr>""".format(v["url"], v["name"], v["snippet"])
for v in search_results["webPages"]["value"]])
HTML("<table>{0}</table>".format(rows))
GitHub'da örnek kod
Bu kodu yerel olarak çalıştırmak için GitHub'da bulunan tam örne bakın.