NewsAPI(https://newsapi.org/) 사용 방법

NewsAPI(https://newsapi.org/) 사용 방법 상세 가이드

NewsAPI는 전 세계 다양한 뉴스 사이트의 기사를 수집하고, JSON 형식으로 제공하는 뉴스 API야.
이 API를 활용하면 자동 뉴스 사이트 구축, 키워드 기반 뉴스 큐레이션, 실시간 뉴스 제공 등을 할 수 있어.


1. NewsAPI 가입 및 API 키 발급

1️⃣ NewsAPI 공식 사이트(https://newsapi.org/) 에 접속
2️⃣ 우측 상단의 “Get API Key” 버튼 클릭
3️⃣ 이메일 및 간단한 정보를 입력 후 가입
4️⃣ 가입이 완료되면 대시보드에서 API 키 발급

무료 플랜: 하루 100회 요청 가능
유료 플랜: 월 $24.99부터 시작 (기사 수 제한 해제, 10,000회 요청 가능)


2. NewsAPI 활용 방법 (Python 예제 포함)

NewsAPI는 REST API 방식으로 요청을 보내면 JSON 형태로 뉴스를 반환해줘.
아래 3가지 방식으로 뉴스를 가져올 수 있어.

1️⃣ 헤드라인 뉴스 가져오기

특정 국가별 주요 뉴스(헤드라인) 가져오기

GET https://newsapi.org/v2/top-headlines?country=kr&apiKey=YOUR_API_KEY

특정 카테고리(예: 비즈니스) 뉴스 가져오기

GET https://newsapi.org/v2/top-headlines?country=us&category=business&apiKey=YOUR_API_KEY

Python 코드 예제

import requests

API_KEY = "YOUR_API_KEY"
url = f"https://newsapi.org/v2/top-headlines?country=kr&apiKey={API_KEY}"

response = requests.get(url)
data = response.json()

# 뉴스 제목 출력
for article in data["articles"]:
    print(article["title"])

2️⃣ 특정 키워드 기반 뉴스 검색

키워드(예: “비트코인”) 관련 최신 뉴스 검색

GET https://newsapi.org/v2/everything?q=비트코인&apiKey=YOUR_API_KEY

특정 언론사(예: CNN, BBC)에서 제공하는 뉴스만 검색

GET https://newsapi.org/v2/everything?q=비트코인&sources=cnn,bbc-news&apiKey=YOUR_API_KEY

기사 정렬 방식 선택 가능 (기본값: 최신순)

  • relevancy → 연관성 높은 순
  • popularity → 인기순
  • publishedAt → 최신순 (기본값)

Python 코드 예제

import requests

API_KEY = "YOUR_API_KEY"
query = "비트코인"
url = f"https://newsapi.org/v2/everything?q={query}&sortBy=publishedAt&apiKey={API_KEY}"

response = requests.get(url)
data = response.json()

# 뉴스 제목 및 출처 출력
for article in data["articles"]:
    print(f" {article['title']} ({article['source']['name']})")

3️⃣ 특정 뉴스 사이트의 기사 가져오기

예를 들어, CNN, BBC, NY Times 등 특정 언론사 뉴스만 가져올 수 있어.

GET https://newsapi.org/v2/top-headlines?sources=bbc-news,cnn&apiKey=YOUR_API_KEY

Python 코드 예제

import requests

API_KEY = "YOUR_API_KEY"
sources = "bbc-news,cnn"
url = f"https://newsapi.org/v2/top-headlines?sources={sources}&apiKey={API_KEY}"

response = requests.get(url)
data = response.json()

# 뉴스 기사 출력
for article in data["articles"]:
    print(f"{article['source']['name']} - {article['title']}")

3. API 응답(JSON 데이터 구조)

API 요청을 보내면 JSON 형식의 응답을 받을 수 있어.
예제 응답 데이터:

{
  "status": "ok",
  "totalResults": 3,
  "articles": [
    {
      "source": { "id": "bbc-news", "name": "BBC News" },
      "author": "BBC News",
      "title": "비트코인 가격 상승",
      "description": "비트코인이 50,000달러를 돌파했다.",
      "url": "https://www.bbc.com/news/business-12345678",
      "urlToImage": "https://www.bbc.com/image.jpg",
      "publishedAt": "2024-02-01T12:34:56Z",
      "content": "비트코인 가격이 급등하며 새로운 기록을 세웠다..."
    }
  ]
}

✔️ 유용한 필드:

  • title: 뉴스 제목
  • description: 요약
  • url: 기사 원본 링크
  • urlToImage: 썸네일 이미지 URL
  • publishedAt: 게시 시간

4. NewsAPI를 활용한 자동 뉴스 사이트 만들기

자동 뉴스 사이트 개발 프로세스
1️⃣ NewsAPI에서 특정 키워드/카테고리 뉴스 수집
2️⃣ 데이터를 JSON으로 받아서 DB 저장 (MySQL, Firebase 등)
3️⃣ Django, Flask, WordPress API를 활용해 뉴스 표시
4️⃣ 크론잡(Cron Job)으로 자동 업데이트 설정


5. 유료 플랜이 필요한 경우

NewsAPI 무료 버전은 하루 100회 요청 제한이 있어서, 뉴스 사이트 운영할 때는 유료 플랜이 필요해.

유료 플랜 가격

플랜 가격 특징
Free $0 하루 100회 요청
Small $24.99/월 10,000회 요청 가능
Medium $49.99/월 30,000회 요청 가능
Large $199.99/월 250,000회 요청 가능

대량 트래픽이 필요한 경우 Medium 또는 Large 플랜 추천


결론: NewsAPI를 활용한 자동화 뉴스 서비스

  • 무료 버전으로 테스트 가능
  • Python, PHP, JavaScript 등 다양한 언어 지원
  • JSON 형식 데이터로 쉽게 파싱 가능
  • 실시간 뉴스 큐레이션, 키워드 기반 뉴스 검색 가능

추천 활용법

  • 1️⃣ 워드프레스 뉴스 사이트: NewsAPI + WP REST API
  • 2️⃣ 뉴스 요약 AI 서비스: ChatGPT API와 결합
  • 3️⃣ 텔레그램 자동 뉴스봇: 키워드 뉴스 수집 후 텔레그램으로 전송

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다