본문 바로가기

파이썬

파이썬 requests 모듈로 웹사이트 요청 보내기

requests란 무엇일까? 예를 들어, 내가 브라우저를 통해 구글로 이동하는 것이 하나의 요청이다. 내 브라우저가 구글 서버에 요청을 보내면, 구글 서버는 요청에 응답하여 웹사이트를 보여준다. requests 모듈은 파이썬 코드에서 이런 요청을 쉽게 할 수 있도록 도와준다, 

 

표준 라이브러리에 포함되어 있지 않은 requests라는 모듈을 사용해 보자. requests 모듈은 파이썬 코드에서 웹사이트로 요청(request)을 보내는 기능을 제공한다. 

파이썬 표준 라이브러리와 추가 모듈

파이썬은 기본적으로 여러 가지 모듈과 함수로 구성된 표준 라이브러리를 제공한다. 이 라이브러리는 파이썬 설치 시 기본으로 포함되어 있어, 별도로 설치할 필요 없이 바로 사용할 수 있다. 그렇기 때문에 우리는 표준 라이브러리를 사용할 때 별도의  설치가 필요없으며 import 키워드를 사용해 필요한 모듈을 불러오는 것뿐이다.

 

하지만 표준 라이브러리 외에도 많은 사람들이 만든 유용한 모듈들이 있다. 이런 모듈들은 프로그래밍 시간을 크게 줄여줄 수 있다. 이러한 모듈들은 주로 PyPI(Python Package Index)라는 곳에 모여 있는데, PyPI에서는 원하는 거의 모든 모듈을 찾아볼 수 있으니 파이썬이 컴퓨터에 설치되어 있는 경우, 필요한 모듈이 있으면 방문해서 검색해보기 바란다. 

 

 https://pypi.org/

 

replit에서 requests 모듈 사용하기

replit에서 requests 모듈을 사용하려면 다음과 같이 하면 된다:

  1. replit의 search -> cube에서 "Python HTTP for Humans"를 검색하여 설치한다.
  2. 다음과 같이 코드를 작성한다.
from requests import get

 

다음 예제 코드는 각 웹사이트에 대해 https://로 시작하지 않는 경우, https://를 붙여주는 작업을 한다. 그리고 requests 모듈을 사용해 각 웹사이트에 요청을 보낼 수 있다.

from requests import get

websites = (
  "google.com",
  "airbnb.com",
  "https://twitter.com",
  "facebook.com"
)

for website in websites:
  if not website.startswith("https://"):
    website = f"https://{website}"
  print(website)

 

requests 모듈을 사용하여 웹사이트 요청 보내기

이제 requests 모듈을 사용하여 각 웹사이트에 요청을 보내고 응답을 받아보자.

from requests import get

websites = (
  "google.com",
  "airbnb.com",
  "https://twitter.com",
  "facebook.com"
)

for website in websites:
  if not website.startswith("https://"):
    website = f"https://{website}"
  
  response = get(website)
  print(f"Requested {website}, Status Code: {response.status_code}")

 

이 코드는 각 웹사이트에 대해 https://로 시작하지 않는 경우, https://를 붙여준다. 그리고 requests 모듈의 get 함수를 사용하여 각 웹사이트에 요청을 보내고, 응답의 상태 코드를 출력한다.

정리

  • 파이썬 표준 라이브러리: 기본적으로 파이썬에 포함되어 있는 모듈과 함수들.
  • PyPI: 다양한 사람들이 만든 파이썬 프로젝트나 모듈을 모아둔 곳.
  • requests 모듈: 파이썬 코드에서 웹사이트로 요청을 보내는 기능을 제공.