50일차: API 연동 스크립트 – API 연동 실습
안녕하세요, mj입니다! 오늘은 여러 API와 연동하여 데이터를 처리하는 실습을 진행해보겠습니다. API(Application Programming Interface)는 서로 다른 소프트웨어 시스템 간의 상호작용을 가능하게 해주는 도구입니다. 다양한 API를 활용하여 데이터를 가져오고, 이를 처리하는 방법을 알아보겠습니다.
1. API란 무엇인가?
API는 소프트웨어 간의 상호작용을 위한 인터페이스입니다. 예를 들어, 날씨 정보를 제공하는 API를 사용하면, 사용자는 특정 지역의 날씨 데이터를 쉽게 가져올 수 있습니다. API는 RESTful, SOAP 등 다양한 형태로 제공되며, HTTP 프로토콜을 통해 데이터를 주고받습니다.
2. API 연동 실습 준비하기
이번 실습에서는 OpenWeatherMap API를 사용하여 날씨 정보를 가져오는 예제를 진행하겠습니다. OpenWeatherMap API는 무료로 제공되며, 회원가입 후 API 키를 발급받아야 합니다.
2.1. API 키 발급받기
- OpenWeatherMap 웹사이트에 접속합니다.
- 회원가입 후 로그인합니다.
- API 키를 발급받습니다.
3. API 연동 코드 작성하기
이제 API 키를 사용하여 날씨 정보를 가져오는 코드를 작성해보겠습니다. 아래는 Python을 사용한 예제입니다.
import requests
API_KEY = 'YOUR_API_KEY'
CITY = 'Seoul'
URL = f'http://api.openweathermap.org/data/2.5/weather?q={CITY}&appid={API_KEY}&units=metric'
response = requests.get(URL)
data = response.json()
if response.status_code == 200:
print(f"도시: {data['name']}")
print(f"온도: {data['main']['temp']}°C")
print(f"날씨: {data['weather'][0]['description']}")
else:
print("API 요청 실패")
3.1. 출력 결과 예시
위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다:
도시: Seoul
온도: 15°C
날씨: 맑음
4. 다양한 API 연동 예시
다양한 API를 활용하여 데이터를 처리하는 방법을 알아보겠습니다. 아래는 다른 API와의 연동 예시입니다.
4.1. GitHub API를 통한 사용자 정보 가져오기
import requests
USERNAME = 'octocat'
URL = f'https://api.github.com/users/{USERNAME}'
response = requests.get(URL)
data = response.json()
if response.status_code == 200:
print(f"사용자 이름: {data['login']}")
print(f"팔로워 수: {data['followers']}")
else:
print("API 요청 실패")
출력 결과:
사용자 이름: octocat
팔로워 수: 5000
4.2. NASA API를 통한 이미지 가져오기
import requests
API_KEY = 'YOUR_NASA_API_KEY'
URL = f'https://api.nasa.gov/planetary/apod?api_key={API_KEY}'
response = requests.get(URL)
data = response.json()
if response.status_code == 200:
print(f"제목: {data['title']}")
print(f"설명: {data['explanation']}")
else:
print("API 요청 실패")
출력 결과:
제목: The Moon
설명: 오늘의 이미지입니다.
4.3. Twitter API를 통한 트윗 가져오기
import tweepy
API_KEY = 'YOUR_TWITTER_API_KEY'
API_SECRET_KEY = 'YOUR_TWITTER_API_SECRET_KEY'
ACCESS_TOKEN = 'YOUR_ACCESS_TOKEN'
ACCESS_TOKEN_SECRET = 'YOUR_ACCESS_TOKEN_SECRET'
auth = tweepy.OAuth1UserHandler(API_KEY, API_SECRET_KEY, ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)
tweets = api.user_timeline(screen_name='twitter', count=5)
for tweet in tweets:
print(tweet.text)
출력 결과:
트윗 내용 1
트윗 내용 2
트윗 내용 3
5. 마무리
오늘은 다양한 API와 연동하여 데이터를 처리하는 방법을 배워보았습니다. API를 활용하면 외부 데이터를 쉽게 가져와 사용할 수 있습니다. 앞으로도 다양한 API를 활용하여 더 많은 실습을 진행해보세요!
감사합니다! mj였습니다.