안녕하세요.
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/
여기서 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 옵션을 포함하여 설정해야 정상 작동이 가능합니다.
위의 코드로 구글 페이지가 잘 가져온다면 환경 세팅은 완료된 것입니다.
이 글이 구글 코랩을 활용한 셀레니움 크롤링 세팅 과정에 도움이 되셨기를 기원합니다.
잘 봐주셔서 감사합니다.
'Python > Crawling' 카테고리의 다른 글
파이썬 atlassian(jira, confluence 등) 크롤링 api 모듈 소개 (0) | 2024.10.31 |
---|---|
파이썬 셀레니움 함수 비동기(async)로 실행 방법 (2) | 2024.07.19 |
파이썬 Selenium으로 Network 패킷 크롤링 예제 (0) | 2024.06.21 |