IT/블로그 자동화
블로그 자동화 - Python 및 Bing News Search REST API를 사용하여 뉴스 검색 수행
심장과영혼
2023. 2. 13. 21:41
728x90
반응형
Python 및 Bing News Search REST API를 사용하여 뉴스 검색 수행
이 문서의 내용
- Azure 리소스 만들기
- 애플리케이션 만들기 및 초기화
- 요청에 대한 매개 변수 만들기
- 요청 보내기 및 응답 받기
이 빠른 시작을 사용하여 Bing News Search API에 대한 첫 번째 호출을 수행할 수 있습니다. 이 간단한 Python 애플리케이션은 검색 쿼리를 API에 보내고 JSON 결과를 처리합니다.
이 애플리케이션은 Python으로 작성되었지만, API는 대부분의 프로그래밍 언어와 호환되는 RESTful 웹 서비스입니다.
MyBinder에서 이 코드 샘플을 Jupyter Notebook으로 실행하려면 바인더 시작 배지를 선택합니다.
이 샘플의 소스 코드는 GitHub에서도 제공됩니다.
Azure 리소스 만들기
다음 Azure 리소스 중 하나를 만들어 Bing News Search API 사용을 시작합니다.
- 리소스를 삭제할 때까지 Azure Portal을 통해 사용할 수 있습니다.
- 평가판 가격 책정 계층을 사용하여 서비스를 사용해보고, 나중에 프로덕션용 유료 계층으로 업그레이드합니다.
- 리소스를 삭제할 때까지 Azure Portal을 통해 사용할 수 있습니다.
- 여러 Cognitive Services에서 애플리케이션에 동일한 키와 엔드포인트를 사용합니다.
애플리케이션 만들기 및 초기화
선호하는 IDE 또는 편집기에서 새 Python 파일을 만들고, 요청 모듈을 가져옵니다. 구독 키, 엔드포인트 및 검색어에 대한 변수를 만듭니다. 다음 코드에서 글로벌 엔드포인트를 사용하거나 리소스의 Azure Portal에 표시되는 사용자 지정 하위 도메인 엔드포인트를 사용할 수 있습니다.
Python복사
import requests
subscription_key = "your subscription key"
search_term = "Microsoft"
search_url = "https://api.cognitive.microsoft.com/bing/v7.0/news/search"
요청에 대한 매개 변수 만들기
키로 Ocp-Apim-Subscription-Key를 사용하여 구독 키를 새 사전에 추가합니다. 검색 매개 변수에 대해 동일한 작업을 수행합니다.
Python복사
headers = {"Ocp-Apim-Subscription-Key" : subscription_key}
params = {"q": search_term, "textDecorations": True, "textFormat": "HTML"}
요청 보내기 및 응답 받기
- 요청 라이브러리를 사용하여 사용자의 구독 키 및 이전 단계에서 만든 사전 개체를 통해 Bing Visual Search API를 호출합니다.
response = requests.get(search_url, headers=headers, params=params) response.raise_for_status() search_results = json.dumps(response.json())
- Python복사
- search_results에 JSON 개체로 저장된 API의 응답에 포함된 문서에 대한 설명에 액세스합니다.
descriptions = [article["description"] for article in search_results["value"]]
- Python복사
결과 표시
이러한 설명은 굵게 강조 표시된 검색 키워드를 사용하여 테이블로 렌더링될 수 있습니다.
Python복사
from IPython.display import HTML
rows = "\n".join(["<tr><td>{0}</td></tr>".format(desc)
for desc in descriptions])
HTML("<table>"+rows+"</table>")
다음 단계
728x90
반응형