티스토리 뷰

728x90

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

728x90
댓글
  • 프로필사진 ㅁㄴㅇㄹ 6번과 7번이 이해가 안가네요
    퍼미션 에러 때문에 계정에 root 준다고 조작했더니 폴더 경로가 /로 접속되는데 @docket 하위 폴더 중 jupyter 컨테이너로 어떻게 들어가나요?
    2020.06.02 14:09
  • 프로필사진 04310 설치된 컨테이너 폴더로 접근하시면 됩니다 2020.06.03 03:25 신고
  • 프로필사진 크롬 해당 컨테이너 내에서 /usr/bin에 chromedriver를 넣는다.
    에서
    /usr/bin 폴더는 만드는 거죠? jupyter 컨테이너에는 해당 폴더가 없더라구요.

    그리고,
    자꾸 에러나서 그러는데,

    샘플 코드좀 하나 알려주세요.....chromedriver 경로를 어떻게 해야 할지 모르겠습니다.
    2021.03.15 18:06
  • 프로필사진 04310 그냥 /usr/bin에 chromedriver 파일을 넣으시면 됩니다 폴더 만드는게 아니에용 2021.03.17 12:39 신고
  • 프로필사진 1234 @docker 폴더 하위에는 jupyter 폴더가 없고
    docker 폴더 하위의 jupyter 폴더 하위에는 /usr/bin 이 없습니다.
    어떻게 해야할까요? ㅠㅠ
    2021.08.20 10:46
  • 프로필사진 망린이 검색하다가 들어와서 문의 남깁니다.
    마지막 까지 다했고 해당 쥬피터에서 크롬은 어떻게 오픈되는건가요? RUN을 눌르면 별도의 웹브라우저는 띄워지지 않아서요.
    2021.10.22 01:44
  • 프로필사진 04310 웹브라우져가 나오는게 아니고 콘솔로만 돌아갑니다. 2021.10.22 04:52 신고
댓글쓰기 폼