영벨롭 개발 일지

[Python]파이썬 requests 라이브러리 정리하기 본문

Programming Language/Python

[Python]파이썬 requests 라이브러리 정리하기

영벨롭 2022. 4. 14. 17:47

[웹 크롤링 Web Crawling]

 

 웹 크롤링은 웹 크롤러(Web Crawler, 웹 페이지의 데이터를 모아주는 소프트웨어)를 사용하여 웹 페이지의 데이터를 추출해내는 것입니다. 

 

 HTML 페이지를 가져와서, HTML/CSS 등을 파싱하거나 Open API를 제공하는 서비스의 Open API를 호출해서 받은 데이터 중 필요한 데이터만 추출하는 기법입니다. 

 

 

 

[서버와 클라이언트-응답과 요청]

 

 

 

 웹브라우저가 설치되어 있는 클라이언트(client)가 서버(server)에 요청(request)를 보내면 서버는 그 요청에 해당하는 응답(response)를 클라이언트에게 넘겨주게 됩니다. 

 

 이제 우리는 파이썬 requests 라이브러리를 사용하여 서버에게 요청(request)를 하여 적절한 응답(response)를 받아내는 기능을 살펴보겠습니다. 

 

 

 

[패키지 설치와 import]

 

 우선 requests 라이브러리를 사용하기 위해 인터넷에서 패키지를 찾아와 외부 패키지를 설치해야합니다. 

 

 터미널을 열어 다음 명령어로 패키지를 설치해줍니다. 

 

 pip install requests

 

 받을 데이터가 JSON 형식일 경우 json package도 함께 설치합니다. 

 

 pip install json

 

 패키지를 설치했으면 해당 모듈을 사용하겠다고 명시해야겠지요? 파이썬 파일 상단에 다음과 같이 적어줍니다. 

 

 import requests

 

 

설치가 잘 되었는지 파이썬 인터프리터를 실행하여 확인합니다. 

 

 

 

[requests API]

 

 API(Application Programming Interface)란 컴퓨터나 컴퓨터 프로그램 사이의 연결로, 다른 종류의 소프트웨어에 서비스를 제공하는 것입니다. 

 

  • requests.get()
  • requests.post()
  • requests.put()
  • requests.delete()

 

  request.get(url) 은 GET 요청을 보내는 기능을 하며 그에 맞는 응답값을 반환해줍니다. 

 

import requests

#요청할 페이지의 주소
url = "https://google.com"

#응답값
response = requests.get(url)

print(response)    #<Response [200]>

 

 

 

 

[응답 데이터 Response Content]

 

import requests

response = requests.get("https://google.com")

 

  • response.text : str 타입의 데이터, UTF-8로 인코딩된 문자열

 

  • response.url : 요청한 페이지의 주소

 

  • response.content : bytes 타입의 데이터

 

  • response.encoding : 문서 인코딩 방식

 

  • response.headers : dict 타입의 메타 데이터

 

  • response.ok : 요청의 성공 여부 

 

  • response.status_code : 응답 상태

반응형