맥에서 홈브루(Homebrew)를 이용해서 chromedriver를 설치하기

통상적으로 웹 상에 있는 자료를 수집할 때 , 로그인과 같은 것을 처리하려면 PhantomJS을 이용해서, 즉 화면이 존재하지 않는 웹 브라우저, Headless Browser을 사용해서 웹 크롤링을 합니다. 그런데 문제는 이 방법이 진짜 웹 브라우저를 실행하는 것은 아니기 때문에 자잘한 문제가 많았습니다. 이를 해결하는 방법이 나왔는데, 창없는 크롬으로 크롤링하기 | Beomi’s Tech Blog입니다.

이 방법을 사용하기 위해서는 앞의 링크에서 언급한 것처럼 크롬과 chromedriver을 설치해야 합니다. 크롬은 설치하는 것을 쉽지만, chromedriver를 링크에서 언급한 곳에서 다운 받아 설치하면, 조금 번거로운 과정(chromedriver를 받아서 압축을 풀고, 그 압축을 푼 폴더 위치를 정확하게 찾아서 알아야 하는 과정)을 겪어야 합니다.

맥에서는 이를 쉽게 하는 방법이 있습니다. 이게 바로 Homebrew, macOS 용 패키지 관리자 — macOS 용 패키지 관리자를 사용하는 것입니다. 만약 맥에서 크롤링과 같은 작업을 하신다면, 이미 이게 무엇을 하는 것인지 알 것입니다. 모르신다면 설치할 가치가 있으니, Homebrew 사용법을 구글링해 볼 가치가 있습니다.

Homebrew를 알아보고 설치하셨다면, 터미널에서 brew cask install chromedriver이라고 치고 엔터를 누르면, 바로 chromedriver를 설치할 수 있습니다. 이렇게 설치한 다음 나만의 웹 크롤러 만들기(7): 창없는 크롬으로 크롤링하기 | Beomi’s Tech Blog에서 가져온 아래 python 코드를 실행하면, 바로 현재 naver 페이지를 naver_main_headless.png이라는 이름으로 저장할 것입니다.

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('window-size=1920x1080')
options.add_argument("disable-gpu")
# 혹은 options.add_argument("--disable-gpu")

driver = webdriver.Chrome('chromedriver', chrome_options=options)

driver.get('http://naver.com')
driver.implicitly_wait(3)
driver.get_screenshot_as_file('naver_main_headless.png')

driver.quit()

참고: homebrew - Brew install chromedriver not working? - Stack Overflow

추가: 맥에서 설치가 잘 되지 않으면 다음 글을 참고하세요! 맥에서 보안 때문에 사용할 수 없는 크롬드라이버 사용하는 법