Python/Crawling

구글 코랩(Colab)에서 selenium 크롤링 세팅 방법

jimmy_AI 2024. 12. 6. 21:58
반응형

안녕하세요.

google colab 환경에서 셀레니움 모듈로 크롤링을 할 수 있는 환경을

세팅하는 방법에 대하여 간략하고 명료하게 정리해보도록 하겠습니다.

 

이 방법은 코랩과 유사한 리눅스 환경에도 적용이 가능하니 참고하세요.

 

 

1. Chrome 설치

selenium을 활용하기 위해서는

먼저, 코랩 환경 내에 크롬 브라우저를 설치해야 합니다.

 

다음 명령어를 코드에 입력하여 설치를 진행해주시면 됩니다.

!wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - && \
    sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' && \
    apt-get update && \
    apt-get install -y google-chrome-stable && \
    rm -rf /var/lib/apt/lists/*

 

설치가 완료되었다면 아래의 명령어를 통해 버전을 확인해줍니다.

!google-chrome --version

 

 

2. Chromedriver 설치

다음 단계로 셀레니움 모듈 활용을 위한 크롬드라이버 파일을 다운로드받아야 합니다.

다운 가능한 크롬드라이버의 버전 정보는 아래의 링크에서 확인가능한데요.

https://googlechromelabs.github.io/chrome-for-testing/

 

Chrome for Testing availability

chrome-headless-shellmac-arm64https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.87/mac-arm64/chrome-headless-shell-mac-arm64.zip200

googlechromelabs.github.io

 

 

여기서 Stable > chromedriver > linux64 에 해당하는 다운로드 링크를 찾으시면 됩니다.

찾으신 링크는 다음과 같은 예시로 되어 있습니다.

https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.87/linux64/chromedriver-linux64.zip

 

위와 같은 링크에서 크롬 버전을 1번 스텝에서 찾은 버전으로 바꿔서

링크를 주소창에 복사 후 다운로드 받아주시면 됩니다.

 

다운로드 받은 후, 압축을 풀고 chromedriver 파일을 다음과 같이 드래그로 등록을 해줍니다.

(좌측 폴더 모양 아이콘 클릭 > 크롬드라이버 드래그)

그리고 아래의 명령어를 실행하여 권한 부여를 진행해줘야 합니다.

!chmod +x /content/chromedriver

 

 

3. selenium 모듈 설치

이제 셀레니움 모듈을 설치하고 최종 세팅을 마쳐주시면 됩니다.

버전마다 사용법이 상이하므로 4.22.0 버전을 설치하는 예시를 들어보도록 하겠습니다.

!pip install selenium==4.22.0

 

 

4. selenium 크롤링 예시 코드

모듈 설치까지 완료되었다면

이제 아래의 코드 스니펫으로 크롤링을 진행해보시면 됩니다.

from selenium.webdriver import ChromeOptions
from selenium.webdriver.chrome.service import Service
from selenium import webdriver
import time

# 옵션 설정
op = ChromeOptions()
op.add_argument('--headless')
op.add_argument('--no-sandbox')
op.add_argument("window-size=1920x1080")
op.add_argument("disable-gpu")
op.add_argument('--disable-dev-shm-usage')

# Service 객체로 ChromeDriver 경로 지정
service = Service(executable_path="/content/chromedriver")
driver = webdriver.Chrome(service=service, options=op)

# 테스트: Google 페이지 열기
driver.get('https://www.google.com/')
time.sleep(3)
print(driver.title)
driver.quit()

 

headless 및 no-sandbox 옵션을 포함하여 설정해야 정상 작동이 가능합니다.

위의 코드로 구글 페이지가 잘 가져온다면 환경 세팅은 완료된 것입니다.

 

이 글이 구글 코랩을 활용한 셀레니움 크롤링 세팅 과정에 도움이 되셨기를 기원합니다.

잘 봐주셔서 감사합니다.