Selenium 사용 방법, 설치부터 기초 예제 실습까지

selenium 크롤링 시작

selenium 크롤링 은 인터넷에서 정보를 자동으로 수집하는 과정입니다. 정적 웹사이트는 HTML 소스를 분석함으로써 정보를 추출할 수 있지만, 동적 웹사이트에서는 JavaScript 등을 통해 사용자의 상호작용에 따라 내용이 변경되므로 기존의 방식으로는 데이터를 수집하기 어렵습니다. 이러한 동적 웹사이트의 데이터를 수집하기 위한 강력한 도구가 바로 Selenium입니다.

selenium 크롤링


Selenium 패키지란?

Selenium은 웹 브라우저를 제어하여 웹사이트 상의 다양한 동작(클릭, 입력 등)을 자동으로 실행할 수 있게 해주는 오픈 소스 도구입니다. 이를 통해, 사람이 직접 웹사이트를 탐색하며 정보를 수집하는 것과 같은 방식으로 크롤링을 할 수 있습니다. 동적 웹 페이지에서 정보를 수집하거나, 로그인이 필요한 페이지, 스크롤을 내려야 내용이 로드되는 페이지 등 다양한 상황에서 유용하게 사용됩니다.


Selenium 설치 방법

PyCharm에서 Selenium을 설치하고 사용하는 방법에 대해 설명하겠습니다.
PyCharm은 Python 개발에 널리 사용되는 IDE(통합 개발 환경) 중 하나이며, 내장된 패키지 관리자를 통해 Selenium 같은 외부 라이브러리를 쉽게 설치할 수 있습니다. 아래 단계에 따라 설치해 보세요.

파이참 설치방법은 아래 블로그 참조
https://blog.naver.com/sinx2233/223218251301

1. PyCharm 프로젝트 설정 열기

  • PyCharm을 열고, Selenium을 설치하려는 프로젝트를 선택합니다.
  • File 메뉴에서 Settings를 선택합니다. (Mac 사용자의 경우, PyCharm 메뉴에서 Preferences를 선택합니다.)
  • 설정 창에서 Project: [프로젝트 이름] > Python Interpreter를 선택합니다.
selenium 크롤링
selenium 크롤링

2. Selenium 패키지 설치

  • Python Interpreter 설정 화면의 오른쪽 상단에 위치한 + 아이콘을 클릭합니다. 이 버튼은 새 패키지를 추가할 수 있는 창을 엽니다.
  • 나타난 Available Packages 창에서 selenium을 검색합니다.
  • 검색 결과에서 selenium 패키지를 찾아 선택하고, Install Package 버튼을 클릭합니다.
  • 설치가 진행되며, 완료되면 패키지 리스트에 selenium이 표시됩니다.
selenium 크롤링
selenium 크롤링

Selenium 사용 방법: 기초

Selenium은 웹 애플리케이션의 테스팅을 자동화하기 위한 포괄적인 도구 모음입니다. Python을 이용한 Selenium 사용은 웹 브라우저 상의 일련의 작업을 자동화하고, 웹 페이지로부터 데이터를 수집하는 등 다양한 방면에서 활용됩니다. 여기서는 Selenium의 기본 사용 방법을 단계별로 살펴보겠습니다.

1. 필요한 패키지 import하기

Selenium을 사용하기 위해서는 먼저 selenium 패키지 내의 webdriver 모듈과 필요에 따라 다른 모듈을 import해야 합니다. webdriver는 웹 브라우저를 제어하기 위한 핵심 인터페이스입니다. Keys는 키보드 상의 키 입력을 시뮬레이션하는 데 사용됩니다. 또한, time 모듈을 이용해 스크립트의 실행을 일시적으로 중지시킬 수 있습니다.

셀레늄 가져오기 웹 드라이버에서
selenium.webdriver.common.keys에서 키 가져오기
수입 시간

2. 크롬 드라이버 실행하기

Selenium은 다양한 웹 브라우저를 지원하지만, 가장 일반적으로 사용되는 크롬 드라이버를 예로 들겠습니다. 최신 버전의 Selenium에서는 크롬 드라이버를 별도로 다운로드 받거나 경로를 설정할 필요 없이 webdriver.Chrome()을 호출하는 것만으로 크롬 브라우저를 자동으로 실행할 수 있습니다.

드라이버 = webdriver.Chrome()
드라이버.get('https://www.google.com')
time.sleep(3) # 페이지가 완전히 로딩될 때까지 3초간 대기

webdriver.Chrome()은 크롬 브라우저의 인스턴스를 생성하고, driver.get('URL')은 지정된 URL로 브라우저를 이동시킵니다. time.sleep(3)은 해당 URL의 모든 요소가 정상적으로 로드될 시간을 주기 위해 스크립트의 실행을 3초간 중지합니다.

실제 적용 사례

  • 구글에서 검색어 입력하기: 웹 페이지에 접속한 후 검색어를 입력하고 검색을 실행하는 예시입니다.
search_box = driver.find_element_by_name('q') # 검색창을 찾습니다.
search_box.send_keys('Selenium') # 검색창에 'Selenium'을 입력합니다.
search_box.send_keys(Keys.RETURN) # 엔터키를 눌러 검색을 실행합니다.
time.sleep(3) # 검색 결과가 로딩될 시간을 줍니다.

Selenium을 사용한 크롤링은 이처럼 웹 브라우저를 프로그래밍적으로 제어하여 복잡한 웹 환경에서도 필요한 데이터를 효과적으로 수집할 수 있게 해줍니다. 기본적인 사용법을 익히고 나면, 더 다양한 기능과 고급 크롤링 기법을 탐구할 준비가 됩니다. Selenium은 웹 자동화와 데이터 수집 분야에서 강력한 도구이며, 이를 통해 웹의 다양한 정보를 보다 효율적으로 활용할 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다