애플리케이션 프로그래밍 인터페이스(API)는 조건에 맞게 요구하여 외부에 있는 데이터를 받아오는 것이다.
api중에 칸예가 한 명언들의 데이터를 받을 수 있는 api가 있어 해당 api를 사용해보겠다.
import requests
response = requests.get(url="https://api.kanye.rest")
print(response)
requests를 import한 뒤 requests.get()으로 칸예 명언 api를 가져왔다.
api url은 사이트에 api주소가 나와있는데 해당 url을 복사해 넣으면 된다.
칸예 api 제공 사이트 : https://kanye.rest/
kanye.rest
A free REST API for random Kanye West quotes
kanye.rest
그렇게 칸예 명언 api를 response에 저장한 뒤 출력해보았다.
- 출력값
<Response [200]>
명언은 안나오고 이상한 숫자가 나왔다.
이 200이란 숫자가 의미하는 것은 api와 정상적으로 연결되었다는 것이다.
사이트 들어가다 404error를 한 번쯤 맞이한 적 있지 않은가? 이 숫자도 404와 같이 사이트 연결 상태를 알려주는 코드이다.
그 종류와 상태에 대해 간단히 적어보자면
1xx : 아직 진행 중, 대기 바람
2xx : 정상 작동, 요청한 데이터 받음
3xx : 데이터 받을 권한 없음
4xx : 당신이 찾는 데이터가 존재하지 않음
5xx : 요청한 서버에 문제 생김(서버, 웹사이트 다운 상태)
세분화된 종류도 따지면 너무나 많기 때문에 요정도만 알아도 도움이 될 것 이다.
그리고 api를 가져올 때 오류가 발생하면 어떤 오류인지 알려주는 코드가 있다.
import requests
response = requests.get(url="https://api.kanye.res")
response.raise_for_status()
raise_for_status()를 넣으면 가져온 api에 문제가 생길 경우 예외를 일으켜주는 기능을 한다.
아무튼 우리는 api로 받은 값을 이용하고 싶은 거다. 그러기 위해선 json() 함수를 사용하면 된다.
import requests
response = requests.get(url="https://api.kanye.rest")
response.raise_for_status()
data = response.json()
print(data)
api는 json데이터로 되어있다. 그 걸 확인하기위 api url에 한 번 들어가보자.
api url을 들어가면 데이터 json의 형태로 되어있음을 확인할 수 있다.
이제 한 번 data의 출력값을 확인해보자.
- 출력값
{'quote': 'I still think I am the greatest.'}
json 형태로 데이터가 출력됨을 볼 수 있다.
여기서 value값만 출력하고 싶다면?
import requests
response = requests.get(url="https://api.kanye.rest")
response.raise_for_status()
data = response.json()
print(data["quote"])
딕셔너리를 이용하듯 [key]를 이용해 특정값을 출력할 수 있다.
- 출력값
For me to say I wasn't a genius I'd just be lying to you and to myself
원하는 데이터 값이 출력되었음을 볼 수 있다.
'파이썬' 카테고리의 다른 글
파이썬 환경변수로 값 숨기기 (0) | 2023.08.10 |
---|---|
파이썬 API 인증 (0) | 2023.08.10 |
파이썬으로 메일 발송 (0) | 2023.08.08 |
JSON(dump, load, update) (0) | 2023.08.04 |
예외 처리(try, except, else, finally, raise) (0) | 2023.08.04 |