requests 란?
- 파이썬에서 http 통신을 가능하게 해주는 모듈로,
- beautifulsoup 과 함께 웹 크롤링을 하거나
- api 통신이 필요할 때 사용 한다.
request 모듈을 사용하면 웹브라우저 없이 코드로 내용을 받아볼 수 있다.
4가지 종류에 메소드가 존재한다.
GET: 정보를 받아올때
POST: 데이터를 생성할 때
PUT: 데이터 수정 요청
DELETE: 데이터 삭제 요청
여기 메서드들은 파이썬 모듈의 특성이 아니라 http 특성
그걸 파이썬에서 코드로 구현한 것이다.
이런 방식들로 서버에 요청을 보내면 서버에서 응답을 보내준다.
응답에는 content, status code(상태코드)
자주 사용되는 상태코드 정보
- 2xx - 성공
- 200 : 정상 통신 완료
- 201 : 정상 생성 완료
- …
- 3xx : 페이지 리다이렉션
- 301 : url 변경
- …
- 4xx : 클라이언트 오류
- 400 : 클라이언트가 잘못 된 요청을 보냄
- 401 : 인증되지 않은 사용자
- 403 : 액세스 권한이 없음
- …
- 5xx : 서버 오류
- 500 : 서버에서 처리할 수 없음
- 502 : 게이트웨이에서 잘못된 응답을 받음
Json 이란?, Javascript Object Notation의 약자로
데이터를 저장하거나 데이터통신을 할때 사용
키 밸류 , 딕셔너리 형태와 유사
딕션너리 , 제이슨 서로 변경 가능
다른서버와 api 연동을 할 때 주로 사용을 한다.
💡 csv는 comma-separated values의 약자로 텍스트에 쉼표( , )를 사용해 필드를 구분하며 .csv 확장자를 사용합니다.
쉼표를 사용해 데이터를 구분한다는 특성 덕분에 텍스트 편집기를 사용해 간단한 csv 파일을 만드는 것도 가능합니다.
데코레이터
함수를 장식해주는 역할을 함
선언되는 함수 위에 @을 사용하여 작성한다. 해당함수가 실행될 때 데코레이터에서 선언된 코드가 같이 실행된다.
# 데코레이터는 호출 할 함수를 인자로 받도록 선언합니다.
def decorator(func):
# 호출 할 함수를 감싸는 wrapper 함수를 선언합니다.
def wrapper():
# func.__name__에는 데코레이터를 호출 한 함수의 이름이 들어갑니다.
print(f"{func.__name__} 함수에서 데코레이터 호출")
func()
print(f"{func.__name__} 함수에서 데코레이터 끝")
# wrapper 함수를 리턴합니다.
return wrapper