imhamburger 님의 블로그

파이썬(Python) - Requests GET 요청, POST 요청 본문

파이썬(Python)

파이썬(Python) - Requests GET 요청, POST 요청

imhamburger 2024. 8. 2. 08:58

파이썬의 requests 는 HTTP 요청을 보내고 응답을 받는 데 사용되는 라이브러리이다. HTTP뿐만 아니라 GET, POST, PUT, DELETE 등을 지원한다. 예를들어, 내가 외부데이터를 가져다가 쓰고싶을 때 requests를 이용하면 된다. (공식문서)

참고로 requests는 파이썬 내장 모듈이 아니기때문에 설치를 해줘야한다.

 

설치방법은 다음과 같다.

pip install requests
pdm install requests #pdm 가상환경에서 설치할 때

 

GET 요청

import requests

url = "{GET 요청을 보낼 url}"
r = requests.get(url)

#option
check = r.status_code #status_code가 200을 출력하면 True 값이니 오류가 없다는 것

 

예시

나는 영화진흥위원회 데이터를 요청하려 하는데, 영화진흥위원회에서 제공하는 url 폼은 다음과 같다.

위에서 JSON 파일로 url을 요청하려 한다. 그리고 날짜는 인자로 받을 것이다.

key는 환경변수로 설정하여 불러온다. 환경변수는 이전글 참고.

#gen_url을 requests.get으로 불러온다.
def req(load_dt="20120101"):
    url = gen_url(load_dt)
    r = requests.get(url)
    data = r.json()
    code = r.status_code

    return code, data

#사이트에서 제공하는 url 형식으로 맞춰줘야 알맞게 요청할 수 있다.
def gen_url(dt="20120101"):
    base_url = "http://www.kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json"
    key = get_key()
    url = f"{base_url}?key={key}&targetDt={dt}"

    return url

 

 

POST 요청

import requests
import json

url = "{POST 요청을 보낼 url}"
data = {'a': 1, 'b': 2, 'c': 3}

r = requests.post(url, data=json.dumps(data))

#option
check = r.status_code #status_code가 200을 출력하면 True 값이니 오류가 없다는 것