requests 모듈은 파이썬을 이용하여 HTTP 통신이 필요할때 가장 많이 사용되는 라이브러리 중 하나입니다.
가볍고, 실행속도가 빨라서 원격에 있는 API 호출에 많이 사용되고 있는데요.
이번 포스팅에서는 requests 라이브러리를 간단하게 사용하는 방법에 대해서 알아보겠습니다.
목차
- requests 패키지 설치 및 로딩방법
- requests 사용방법
- requests 활용함수
1. 패키지 설치 및 로딩방법
pip 를 이용하여 requests패키지를 설치합니다
터미널 창에서
$ pip install requests
위 명령어를 입력하면 자동으로 설치가 됩니다.
설치 완료후
import requests
위와 같이 requests 패키지를 import 합니다.
여기까지 진행하면 requests를 활용할 수 있습니다.
2. 사용방법
방식(method)에 따라 HTTP 요청을 할수 있는 메소드들이 존재하는데 하나씩 살펴보자
GET 방식: requests.get()
requests.get()의 사용 방법은 아주 간단하다
requests.get("https://google.com")
위와 같이 파라미터로 접속할 주소를 입력하면
바로 위와같이 Response 객체를 반환한 것을 볼 수 있다.
#파라미터 넘기기
주소줄에 직접 입력하기
URL = "https://www.google.com/search?q=python"
Response = requests.get(URL)
print("Response.status_code :", Response.status_code)
params 속성 이용하기
URL = "https://www.google.com/search"
param = { "q" : "python" }
Response = requests.get(URL, params=param)
print("Response.status_code :", Response.status_code)
파라미터를 딕셔너리 형태로 params 속성에 넣으면 간단하게 http request를 보낼수 있다.
POST 방식: requests.post()
이번엔 POST 방식으로 파라미터를 넘겨보자
GET 방식에서는 파라미터를 주소줄에 쓰거나, params로 넘겼는데, POST방식은 data로 넘기면 된다.
import requests
URL = "https://google.com/search"
data = {"q": "python"}
Response = requests.post(URL, data=data)
print("Response.status_code :", Response.status_code)
구글검색에 POST로 검색어를 보내면 아래와 같이 405 에러가 발생한다.
구글검색은 검색어를 GET 방식으로만 받아들인다
Response 객체 확인하기
# text 속성으로 requests에서 수집한 HTML 원문을 확인할 수 있다.
# request 객체에 접근
print("Response.request.path_url : ", Response.request.path_url)
print("Response.request.method : ", Response.request.method)
print("Response.request.headers : ", Response.request.headers)
# encoding 정보 확인
print("Response.encoding : ", Response.encoding)
# response가 json 형식을 경우 딕셔너리 타입으로 바로 변환
Response.json()
# content 속성을 통해 바이너리 타입으로 반환
Response.content
# 응답 코드 확인
Response.status_code
# 응답 코드가 200이 아닌 경우 에러 raise
Response.raise_for_status()
3. 활용함수
이제 파라미터를 통해 메소드 POST, GET을 마음대로 바꿔가며 사용할수 있는 함수를 만들어 보자
def getUrl(_url, _params, _type):
if(_type=="GET"):
Response = requests.get(URL, params=_params)
else:
Response = requests.post(URL, data=_params)
return Response.text
실행해보면, 아래와 같이 데이터를 잘 가져오는 것을 확인할 수 있다.
'PYTHON' 카테고리의 다른 글
파이썬[python] sort() 함수의 다양한 사용법 알아보기 (0) | 2023.05.26 |
---|---|
파이썬[python] mysql연동 방법(pymysql) 알아보기 (0) | 2022.08.22 |
파이썬[python] 내림 모듈(math.floor) 알아보기 (0) | 2022.08.20 |
파이썬[python] 콤비네이션 모듈(combinations) 알아보기 (0) | 2022.08.19 |
파이썬[python] pip를 이용하여 패키지 특정 버전 설치 (0) | 2022.08.18 |