티스토리 뷰

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 등은 문제없이 작동한다.

댓글
  • 프로필사진 ㅁㄴㅇㄹ 6번과 7번이 이해가 안가네요
    퍼미션 에러 때문에 계정에 root 준다고 조작했더니 폴더 경로가 /로 접속되는데 @docket 하위 폴더 중 jupyter 컨테이너로 어떻게 들어가나요?
    2020.06.02 14:09
  • 프로필사진 tubelog 설치된 컨테이너 폴더로 접근하시면 됩니다 2020.06.03 03:25 신고
댓글쓰기 폼