Serper API를 사용하여 오늘의 세계 뉴스를 검색하고 출력하는 파이썬 코드를 작성하겠습니다.
이후 코드의 주요 기능을 설명하겠습니다.
📌 Python 코드 (Serper API 활용)
import requests
# Serper API 키 입력 (사용자의 API 키 필요)
API_KEY = "YOUR_SERPER_API_KEY"
def search_world_news():
"""Serper API를 사용하여 '오늘의 세계 뉴스'를 검색하고 출력하는 함수"""
url = "https://google.serper.dev/search" # Serper API 엔드포인트
headers = {
"X-API-KEY": API_KEY, # API 인증 키
"Content-Type": "application/json"
}
payload = {
"q": "world news today", # 검색어
"num": 5 # 검색 결과 개수 (최대 10개)
}
try:
response = requests.post(url, json=payload, headers=headers) # API 요청
response.raise_for_status() # HTTP 오류 발생 시 예외 처리
data = response.json() # 응답을 JSON으로 변환
if "organic" in data:
print("🌍 오늘의 세계 뉴스:")
for i, result in enumerate(data["organic"], start=1):
print(f"{i}. {result.get('title')}")
print(f" 🔗 {result.get('link')}")
print()
else:
print("❌ 뉴스 기사를 찾을 수 없습니다.")
except requests.exceptions.RequestException as e:
print(f"🚨 오류 발생: {e}")
if __name__ == "__main__":
search_world_news()
🔍 코드 설명
✅ 1. API 엔드포인트 및 키 설정
url = "https://google.serper.dev/search"
API_KEY = "YOUR_SERPER_API_KEY"
url
: Serper API의 Google Search 엔드포인트를 사용.API_KEY
: Serper API에서 제공받은 인증 키를 입력해야 API를 사용할 수 있음.
✅ 2. API 요청 헤더
headers = {
"X-API-KEY": API_KEY,
"Content-Type": "application/json"
}
X-API-KEY
: Serper API 사용을 위해 필요한 API 인증 키.Content-Type
: 요청 데이터가 JSON 형식임을 명시.
✅ 3. 검색 쿼리 (검색할 내용 설정)
payload = {
"q": "world news today", # 검색어 설정
"num": 5 # 최대 5개의 뉴스 검색
}
"q"
: 검색어(여기서는"world news today"
, 즉 '오늘의 세계 뉴스')."num"
: 가져올 검색 결과의 개수 (최대 10개까지 가능).
✅ 4. API 요청 및 응답 처리
response = requests.post(url, json=payload, headers=headers) # API 요청
response.raise_for_status() # HTTP 오류 발생 시 예외 처리
data = response.json() # JSON 응답 변환
requests.post()
: Serper API에 POST 요청을 보냄.raise_for_status()
: 응답이 HTTP 오류(400~500번대)일 경우 예외 처리.response.json()
: API 응답 데이터를 JSON 형식으로 변환.
✅ 5. 검색 결과 출력
if "organic" in data:
print("🌍 오늘의 세계 뉴스:")
for i, result in enumerate(data["organic"], start=1):
print(f"{i}. {result.get('title')}")
print(f" 🔗 {result.get('link')}")
print()
"organic"
키를 통해 검색된 뉴스 기사 목록을 확인.enumerate()
를 사용해 **뉴스 번호(1, 2, 3...)**를 매김."title"
과"link"
정보를 출력하여 뉴스 제목과 링크 제공.
✅ 6. 예외 처리
except requests.exceptions.RequestException as e:
print(f"🚨 오류 발생: {e}")
requests.exceptions.RequestException
: API 요청 중 오류 발생 시 메시지를 출력.
📌 실행 예시
🌍 오늘의 세계 뉴스:
1. "Ukraine conflict: Latest updates and analysis"
🔗 https://www.bbc.com/news/world-europe-12345678
2. "US Elections: Biden and Trump face off in latest polls"
🔗 https://www.cnn.com/politics/us-election-news
3. "China's economic growth slows amid global uncertainties"
🔗 https://www.reuters.com/business/economy-china-2025
4. "Tech Giants Battle for AI Dominance"
🔗 https://www.wired.com/story/ai-race-2025
5. "Climate change: UN issues urgent new warnings"
🔗 https://www.nytimes.com/climate-issues-2025
이제 실행하면 오늘의 세계 뉴스 제목과 링크가 출력됩니다.
🎯 Serper API를 통해 최신 글로벌 뉴스를 검색하는 기능을 손쉽게 구현할 수 있습니다! 🚀
0 댓글