Quickstart: Use the Bing News Search Python client library
Use this quickstart to begin searching for news with the Bing News Search client library for Python. While Bing News Search has a REST API compatible with most programming languages, the client library provides an easy way to integrate the service into your applications. The source code for this sample can be found on GitHub.
Prerequisites
- Python 2.x or 3.x
It is recommended to use a virtual environment for your Python development. You can install and initialize the virtual environment with the venv module. You must install a virtualenv for Python 2.7.
Create a virtual environment with:
python -m venv mytestenv
Install the Bing News Search client library dependencies with this command:
python -m pip install azure-cognitiveservices-search-newssearch
Create and initialize the application
Create a new Python file in your favorite IDE or editor, and import the following libraries. Create a variable for your subscription key, and your search term.
from azure.cognitiveservices.search.newssearch import NewsSearchClient from msrest.authentication import CognitiveServicesCredentials subscription_key = "YOUR-SUBSCRIPTION-KEY" endpoint = "YOUR-ENDPOINT" search_term = "Quantum Computing"
Initialize the client and send a request
Create an instance of
CognitiveServicesCredentials
.client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
Send a search query to the News Search API, and then store the response.
news_result = client.news.search(query=search_term, market="en-us", count=10)
Parse the response
If any search results are found, print the first webpage result:
if news_result.value:
first_news_result = news_result.value[0]
print("Total estimated matches value: {}".format(
news_result.total_estimated_matches))
print("News result count: {}".format(len(news_result.value)))
print("First news name: {}".format(first_news_result.name))
print("First news url: {}".format(first_news_result.url))
print("First news description: {}".format(first_news_result.description))
print("First published time: {}".format(first_news_result.date_published))
print("First news provider: {}".format(first_news_result.provider[0].name))
else:
print("Didn't see any news result data..")