-
Python 웹 크롤링을 위한 준비 - 웹 드라이버 지정데이터 분석/NumPy 2020. 2. 23. 16:30
OS: Mac
Python Version: 3.8
IDE: PyCharm
external library: seleniumselenium 하위 webdriver.Chrome 에서 크롬 드라이버에 대해 제어하도록 준비한다.
크롬 드라이버를 별도로 설치한 후, selenium.webdriver 로 웹드라이버를 구동하면 된다.※ 크롬 드라이벌 설치 경로 [클릭]
from selenium import webdriver driver = webdriver.Chrome(executable_path= r'/Users/youkyunghwang/PycharmProjects/202002/chromedriver') --- console log selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
책에서 시킨대로 크롬드라이버를 설치한 후, 절대경로로 지정하는데... 두둥. 이런 문구를 만났다.
사실 꼭 시스템 환경변수 PATH 에 위치시킬 필요는 없지만... 이왕이면 시킨대로 해보기로 결심했다. 그리고 스택오버플로우를 뒤져서 겨우 실행시킨 후, 제대로 이해하기 위해서 삽질기를 정리해보았다.1. 웹 드라이버 절대경로로 호출
executable_path 를 직접 지정해준다. 웹 드라이버가 어느 경로에 위치하던 상관없이, 매 프로젝트에서 불러오면 된다.
※ 정규식 문자열 앞에 r을 붙여주면 백슬래시()를 이스케이프 시켜주는 Raw String 이라는 뜻.
즉 저 안에 운영체제에 따른 / 또는 이 문자열을 이스케이프 시켜서 경로를 있는 그대로 표시해 주는 역할을 한다.from selenium import webdriver driver = webdriver.Chrome(executable_path= r'/Users/alicia/PycharmProjects/202002/chromedriver')
2. 웹 드라이버 매니저 인스턴스를 통한 호출
webdriver_manager.chrome 패키지를 설치한 후, ChromeDriverManager 인스턴스를 통해 설치한 크롬드라이버로 지정한다.
가장 간단한 방법이지만, 매번 install 을 호출하는게 마음에 걸려서 아래 방법, 정석을 알아보기 시작했다.from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager driver = webdriver.Chrome(ChromeDriverManager().install())
3. chromedriver 시스템 환경변수 PATH 지정, 간단히 호출하기
PATH 디렉토리 하위에 chromedriver 를 위치시킨다. 최초 설정이 힘들고 이후로는 매번 간편한 기능이다.
다양한 프로젝트에서 웹 드라이버를 호출해야할 때 권장하는 방법일 듯.from selenium import webdriver driver = webdriver.Chrome('chromedriver')
a. 시스템 환경변수 PATH 확인 (선택: usr/local/bin), 웹드라이버 파일 mv 실패 (sudo 도 실패)
echo $PATH mv {.../chromdriver} /usr/local/bin sudo mv {.../chromedriver} /usr/local/bin
b. 맥 부팅시, Cmd+R 로 OS X Recovery Mode 진입
최상단 메뉴 OS X Utilities > Terminal 에서 Configuring System Integrity Protection 비활성화 처리하고 rebootcsrutil disable reboot
c. chrome driver usr/local/bin 으로 이동 성공
sudo mv {.../chromedriver} /usr/local/bin
d. 해결, 경로 없이 chromedriver 지정
e. (안전하게 바로) Configuring System Integrity Protection 활성화 처리하고 reboot
csrutil enable reboot
'데이터 분석 > NumPy' 카테고리의 다른 글
파이썬 데이터사이언스 핸드북 1장 - 코드 프로파일링 및 시간 측정 (0) 2020.05.09 파이썬 데이터사이언스 핸드북 1장 - IPython 의 에러와 디버깅 (0) 2020.05.05 파이썬 데이터사이언스 핸드북 1장 - IPython 의 꿀팁 명령어 (0) 2020.05.05 파이썬 데이터사이언스 핸드북 1장 - Jupyter notebook 실행 (0) 2020.05.05 Pycharm 외부 라이브러리 설치 (0) 2020.02.23