imhamburger 님의 블로그
파이썬(Python) - Requests GET 요청, POST 요청 본문
파이썬의 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 값이니 오류가 없다는 것
'파이썬(Python)' 카테고리의 다른 글
파이썬(Python) - MANIFEST.in 개념 이해하기 + 생성하기 (0) | 2024.09.02 |
---|---|
파이썬(Python) - if __name__=="__main__"의 의미 이해하기 (0) | 2024.08.22 |
파이썬(Python) - 환경변수 불러오기 os.getenv (0) | 2024.07.31 |
파이썬(Python) - 디폴트 파라미터, *args, **kwargs (0) | 2024.07.29 |
파이썬(Python) - argparse 이용하여 띄어쓰기 포함한 인자값 받기 (0) | 2024.07.26 |