억대 연봉을 위한 인간수업
Published 2020. 1. 13. 11:35
Requests 모듈 사용법 Develop/python
반응형

 

 

Python을 이용해 크롤링 소스를 짤때 많이 사용하는 모듈이다.

Requests 와 BeautofulSoup을 사용하는데, 이번 페이지에선 Requests 사용법에 대해 알아보자.

 

 

 

 

 

 

Requests 모듈 이란?

 - 웹페이지에서 HTTP 요청을 보내 원하는 HTML 정보를 가져오는 모듈이다.

 - requests 모듈을 사용하기 위해서는 웹페이지에서 요청하는 방식인 post와 get 방식을 알아야할 필요가 있다.

 - 그 이유는 어떤 방식이냐에 따라 parameter(매개변수)를 전달하는 방법이 다르기 때문이다.

 - post인지 get 방식인지 확인하는 방법은 크롬기준으로 개발자 도구(Ctrl + shift + i) -> Network 목록에 들어가면 수많은 소스가 나오는데 아무 페이지나 이동후 소스파일을 확인해보면 Request Method : 에서 어떤 방식인지 확인할 수 있다.

 

 

 

1. get 방식

 - get 방식은 배에 물건을 실어 운반할 때 선반 위에 '보이도록' 하여 물건을 운반하는 방식이다.

 - 어떤 웹페이지에서 로그인을 할 때 웹서버에 로그인 요청을 하기위한 정보가 URL을 통해 전달되는데, ID와 PW가 URL에 노출되어 전달되는 방식이다.  

 - HTML 소스를 받는 방법은

  변수 = requests.get('URL 주소')

* 참고사항 : url은 위에 다른 변수를 선언해 그 변수안에 코드를 넣은 후 requests.get(URL변수명)으로 해줘도 실행 가능

 

 

 

 

2. Post 방식

 - post방식은 배에 내부에 물건을 실어 운반하는 방식이다

 - 보안에 있어서 데이터를 노출하지 않고  서버와 통신이 가능한 방식이다.

 - post방식은 파라미터를 딕셔너리 형태로 정의한 후 인자값으로 전달해서 사용한다.

변수명2 = requests.post("url")

* ssh 인증서를 사용하는 경우는 url, verify=False 옵션을 넣어준다

* ID/PW인증이 필요한 경우는 url, auth=("id","pass") 아이디, 패스워드 형태로 넣어주면 된다

 

 

 

 

 

requests는 HTML코드를 가져오는 것 말고도 여러 기능이 있다.

변수명.text -> 해당 URL의 HTML코드 확인

변수명.status_code -> HTML코드 요청 후 서버에서 Response 값 확인 가능 (구글 검색시 해당 코드 값 확인 가능)

변수명.encoding -> 어떤 인코딩을 사용했는지 확인가능

변수명.headers ->HTML 코드 중 요청/응답 시 헤더 정보를 Key/Value 값으로 확인 가능

변수명.jason -> jason은 딕셔너리처럼 {키:값}을 가져오는 함수. http에서 원하는 값을 딕셔너리 형식으로 가져오는 듯하다.

이 외에도 기능은 더 찾으면 있을것이다..

 

 

 

 

코딩 후 우선 클라이언트로 서버에 요청시 제대로 응답을 하는지 확인해야한다.

그러기 위해선 response(변수)=resuests.get('URL주소')로 URL값을 저장 후 response.status_code를 프린트 해보면 알 수 있다.

status_code는 HTTP 상태 코드를 반환하는데 1xx~5xx 번대 까지 다양한 코드가 존재한다. 구글에서 쉽게 확인 가능하다.

2xx 번대, 200은 응답 요청에 성공했다는 값이다.

 

 

 

 

반응형
profile

억대 연봉을 위한 인간수업

@회뜨는참치

이 글이 당신에게 조금이라도 도움이 된다면 좋겠습니다.