Synology Docker Jupyter Notebook에서 크롤링(Crawling)하기 위한 Chromedriver 사용 방법
1) Putty를 사용해 SSH 접속
2) root 권한 획득
3) 실행중인 docker 컨테이너에 root로 접속
실행중인 컨테이너 확인 sudo docker ps -a
접속 docker exec -u 0 -it 컨테이너ID bash
4) 해당 화면에서 크롬 설치
wget https://dl.google.com./linux/direct/google-chrome-stable_current_amd64.deb
sudo apt-get install libxss1 libgconf2-4 libappindicator1 libindicator7
==> 오류나면 sudo apt-get update 실행 후 다시
==> 오류나면 sudo apt --fix-broken-install 실행
sudo dpkg -i google-chrome-stable_current_amd64.deb
5) 크롬드라이버 linux 버전을 다운로드 받는다.
6) Synology에 WinSCP로 접속하여 @docker 하위 폴더 중 jupyter 컨테이너로 들어간다.
7) 해당 컨테이너 내에서 /usr/bin에 chromedriver를 넣는다.
8) Selenium에서 크롬 옵션을 다음과 같이 부여하여 크롤링한다.
option.add_argument("headless");
option.add_argument("no-sandbox");
option.add_argument("disable-dev-shm-usage");
이유는 모르겠지만 일부 사이트는 Connection Refuse Exception이 발생한다.
하지만 메이저 사이트 Google Amazon 등은 문제없이 작동한다.