1
오늘은 뉴욕타임즈의 기사 데이터를 수집해 보겠습니다.
https://developer.nytimes.com/
먼저 뉴욕타임즈의 API를 가지고 와야합니다.
회원가입을 해준다음
회원 가입이 완료되면 API Key를 받아야 합니다.
그러기 위해서 자신의 정보를 눌러 Apps를 눌러 NEW APP을 생성해주세요.
그 다음에는
App Name 과 Description을 자신이 알기 편하게 작성 후
Most Popular API를 Enable 클릭해줍니다.
저희는 가장 인기있는 기사들을 크롤링 해올 예정이니깐요
클릭하시고 Save를 해주시면 됩니다.
그러면 API Key를 받으실 수 있습니다.
그럼 이 API key를 복사해준 다음
2
파이썬으로 로직을 짜보겠습니다.
뉴욕 타임즈에서 API 활용하는 방법에 대해 나와있는데요
항상 해당 사이트에서 제공하는 Document는 읽어보시는게 좋습니다.
차근 차근 읽어보시면 누구나 다 하실 수 있습니다.
Get most emailed articles for the last day: 지난 하루 동안 가장 많이 이메일로 전송된 기사
/emailed/1.json
Get most shared articles on Facebook for the last day: 지난 하루 동안 Facebook에서 가장 많이 공유된 기사
/shared/1/facebook.json
Get most viewed articles for the last seven days: 지난 7일간 가장 많이 본 기사
/viewed/7.json
그리고 .json 앞에 있는 숫자는 기간을 뜻합니다.
원하시는 기간을 적으시면 됩니다.
파이썬 코드는 아래와 같이 간단합니다.
Result 결과값 :
오늘의 결과값들이 나왔는데요
여기서 좀 더 추가해서 해보겠습니다.
Most News에서 Title을 한글로 번역하는 로직을 추가해보겠습니다.
pip install deep-translator
먼저 터미널에서 라이브러리를 추가해주세요.
그리고
from deep_translator import GoogleTranslator
# 번역 수행
translated_title = GoogleTranslator(source='en', target='ko').translate(original_title)
로직을 추가하겠습니다.
그럼 이렇게 한글로 해석되는 제목까지 나오게 됩니다!
마지막 최종 코드입니다.
import sys
import io
import requests
from deep_translator import GoogleTranslator
# 출력 스트림의 기본 인코딩 설정
sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding='utf-8')
# API 키와 엔드포인트 설정
api_key = 'Your API KEY'
url = f'https://api.nytimes.com/svc/mostpopular/v2/viewed/1.json?api-key={api_key}'
# API 요청
response = requests.get(url)
if response.status_code == 200:
data = response.json()
for article in data['results']:
original_title = article['title'] # 원본 제목
# 번역 수행
translated_title = GoogleTranslator(source='en', target='ko').translate(original_title)
print(f"Original Title: {original_title}")
print(f"Translated Title: {translated_title}")
print(f"URL: {article['url']}\n")
else:
print(f"Failed to fetch data. Status code: {response.status_code}")
감사합니다.
'console.log("What ? " + Cord); > Python' 카테고리의 다른 글
[Python] 리스트 컴프리헨션 List Comprehension (파이썬) (0) | 2024.11.28 |
---|---|
[ Python ] VS Code에서 파이썬으로 구글 트랜드 크롤링 하는 방법 (0) | 2024.11.23 |
[Python] VS Code에서 개발 환경 세팅하기 (0) | 2024.11.22 |
[Python] 활용한 웹 크롤링의 모든 것 (2) | 2024.11.21 |
Python 기본 문법과 개념 (2) | 2024.11.20 |