데이터분석/데이터 추출

웹 크롤링을 위한 라이브러리(Selenium) 및 실습

상선약수64 2024. 2. 15. 20:33
반응형

1. 정적 웹페이지와 동적 웹페이지

 

웹페이지는 크게 정적 웹페이지와 동적 웹페이지로 구분됩니다.

  • 정적페이지란 모든 클라이어트에게 동일한 내용을 보여주는 웹페이지입니다. 사용자가 URL을 통해 서버에 웹 페이지를 요청하였을 때, 서버 안에 이미 만들어져 있는 HTML 문서를 모든 사용자에게 동일한 내용을 보여주는 웹페이지 입니다. 예를 들어 포털에게 뉴스 서비스는 모든 사용자에에 동일한 정보를 보여줍니다.
  • 동적페이지란 웹서버가 사용자(클라이언트)가 URL 을 통해 서버에 웹 페이지를 요청(request)했을 때, 서버는 사용자에 맞는 HTML 문서를 생성하여 사용자에게 응답(response)하게 됩니다. 사용자마다 요청 요구에 따른 서로 다른 정보를 제공합니다. 예를 들어 쇼핑몰의 장바구니, 또는 개인성적 및 수강신청 내용 등이 있습니다. 

파이썬에서는 웹 클로링을 위한 라이브러리가 존재하는데 정적페이지는 Beautifulsoup, 동적페이지는 Selenium 라이브러리가 있습니다. 먼저 동적페이지에 해당하는 Selenium 라이브러리에 대해 설명하고자 합니다.

 

2. Selenium 소개

selenium 라이브러리는 크롬 웹브라이저를 제어하거나 원하는 정보를 얻기 위한 것입니다. 웹 서비스를 받기 위해서 사용자는 입력하거가 특정버튼을 클랙하는 이벤트가 발생하는데, 이러한 사용자의 이벤트를 컴퓨터가 할 수 있도록 제어하는 라이브러리 입니다. 

 

  • selenium 라이브러리 설치를 합니다. vscode의 터미널에서 pip install selenium을 입력하고 라이브러리를 설치를 합니다. 그리고 설치가 제대로 되었는지 pip list로 확인합니다 ( Visual Studio Code라는 IDE(통합 개발 환경)을 사용하고 있음).
pip install selenium