본문 바로가기

STUDY/Python

[Python] 웹 크롤링 - requests 라이브러리 소개 / "기본" 사용법

 

웹 크롤링 할 때 쓰이는 파이썬의 requests 라이브러리에 대해 알아보자.

 

 

requests란 ??

requests란 python용 HTTP 라이브러리이다. Python에서 특정 웹사이트에 HTTP 요청을 보내는 모듈이라 할 수 있다.
쉽게 말하자면 특정 웹사이트에 HTTP 요청을 보내 HTML 문서를 받아올 수 있는 라이브러리인 것.

허나 엄밀히 말하자면 requests로 가져올 수 있는 HTML 문서는 문서가 아닌 그냥 단순한 문자열이고,
html parser에 의해 HTML 문서로 바뀌게 된다.

 

html parser에 대해서는 다음 포스팅에 다루도록 하겠다.

 

 

 

백견이 불여일행이라, 직접 설치부터 기본 사용까지 해 보도록 하자.

 

 

1. 설치

설치할 필요가 없다. 기본적으로 내장되어 있을 것이다. 허나, 그렇지 않다면 아래의 명령어를 실행시켜주도록 하자.

pip install requests

 

2. import

이 역시 간단하다.

import requests

 

3. 기본적인 사용

이제 써 보자!

 

본인이 작성한 예시 코드는 아래와 같다.

url = "https://aly-son.github.io/sample-resume/"
response = requests.get(url)
print(response)
print(response.status_code) 
print(response.text)

 

위의 코드를 예시로 들어 전체적인 프로세스를 설명해보겠다.

1. url = "https://aly-son.github.io/sample-resume/"

  => url을 해당 주소로 설정했다.

 

2. response = requests.get(url)

  => requests 라이브러리의 get() 메서드를 통해, 해당 url에 GET 요청을 보냈고 그에 대한 응답을 response라는 변수에 저장한다. 물론 GET 말고 여러 요청을 할 수 있고, get() 메서드에 여러 파라미터를 추가할 수도 있다. 허나 기본적인 사용법 예시를 설명하는 것이니 넘어가도록 하자.

 

3.

print(response)
print(response.status_code) 
print(response.text)

=> response나 response.status_code를 출력하면, 서버에서 정상적으로 응답했는지, 아닌지를 알 수 있다. 

만약 200이 출력된다면 정상적으로 응답한 것이고, 그렇지 않다면 비정상적 응답을 한 것이다.

이 url은 정상적으로 응답했음을 확인할 수 있다.

 

response.text는 해당 페이지를 구성하는 html을 문자열로 가져온다.

이 아래로도 쭉쭉 많다.

 

 

 

이 포스팅에선 requests 라이브러리 소개와 정말 기본적인 간단한 사용법만을 다룰 것이다.

추후에 시간이나 여건이 되면 좀 더 심화된 사용법을 다룰 계획이다.

 

 

 

** 덧

html parser에 대해 다루는 다음 포스팅은 여기!

[STUDY/Python] - [Python] html parser - BeautifulSoup

 

[Python] html parser - BeautifulSoup

HTML parse, parser HTML Parse란 HTML 문법 규칙에 따른 문자열을, 해당 문법을 바탕으로 단어의 의미나 구조를 분석하는 것을 말한다. 그리고, 이렇게 HTML Parse를 행하는 프로그램을 일컬어 HTML Parser라 한

k-wien1589.tistory.com