본문 바로가기
PYTHON/파이썬_라이브러리&모듈

파이썬 requests라이브러리

by 시에라177 2022. 5. 9.

requests은 파이썬의 http라이브러리.

파이썬으로 웹사이트에 http요청을 보낼 수 있게 해줌. 웹은 일반적으로 http을 하기 때문에.

즉, 특정 웹사이트에 http요청을 보내고 데이터를 받아 올 수 있게 해줌.

HTTP Request를 웹 브라우저가 아닌 python에서 가능하게 해주는 모듈. 각 언어마다 있음.

 

1.설치/이용

JupyterNoteBook이나 코랩에서 사용하면 그냥 임포트해서 사용.

설치시에는 pip install requests

 

2.요청  respo는 응답객체로서 자의적으로 변수명 선언

get요청.  (#파라미터들은 반드시 params인자에 딕셔너리 형태로 넣어야한다)

respo = requests.get(url, params = )

post요청

respo = requests.post(url, params = )

put요청

respo = requests.put(url, params = )

delete요청

respo = requests.delete(url, params = )

 

ex)

url = 'https://developers.naver****'
p = {'key':'***', 'returnType':'JSON'}
rep = requests.get(url, params = p)

-get/post/put 등은 http method로 일단 크롤링에 대한 감을 잡고 공부.

-일단 주소창으로 접속하는 방식이 get방식임을 알면된다.

 

3.응답 전문(Response Body) 보기

requests.text           --디코딩된 텍스트형식 응답

requests.content       --바이너리 형식의 원문데이터  응답

-대게 text형식으로 원문데이터 가져온후, loads를 통해 딕셔너리 (파이썬 객체)로 변환.

 

rep.json( ).         --응답 데이터가 JSON포맷인 경우, json()으로 디코딩해 딕셔너리 객체를 반환 받을 수 있다.-json()은 json라이브러리 아님. 그리고 이때는 loads로 변환할 필요없음.

ex)

rep.txt
j_rep = rep.json()
#딕셔너리 형식임으로 파이썬 딕셔너리 쓰듯이 바로 사용가능

4.응답상태확인

resp.status_code   -- 응답객체의 status_code로 응답상태 확인하는법

 

 

 

Requests모듈로 웹(서버)에 http요청을 보낼 수 있고 그에 대한 응답을 응답객체의 body에 저장할 수 있다.

응답은 txt로 혹은 바이너리 형식으로 만들 수 도 있으며, json포맷인 경우 디코딩해 딕셔너리 객체로 변환할 수 있다.(물론 txt,content로 받아도 후에 json.loads로 딕셔너리 객체로 받을 수 있다)

응답객체.status_code 는 200이어야지 정상인 것.