본문 바로가기

일반

시놀로지, 주피터노트북, 셀레니움, 스크랩핑 (synology, jupyter notebook, selenium, scraping)

 

헤놀로지에 파이선을 설치하고, 셀레니움을 설치에서 웹스크랩핑을 하는게 목표입니다.

 

조건

- 해놀로지

- 도커에 주피터 노트북 올림

 

 

 


 

 

1) Putty를 사용해 SSH 접속
2) root 권한 획득

   sudo -i
3) 실행중인 docker 컨테이너에 root로 접속
   실행중인 컨테이너 확인         sudo docker ps -a
   접속   docker exec -u 0 -it 컨테이너ID bash
   ex)  docker exec -u 0 -it 6757d4b29508 bash

 

 

4) 해당 화면에서 크롬 설치

wget https://dl.google.com./linux/direct/google-chrome-stable_current_amd64.deb
sudo apt-get install libxss1 libgconf-2-4 libappindicator1 libindicator7
==> 오류나면 sudo apt-get update 실행 후 다시
==> 오류나면 sudo apt --fix-broken install 실행

 

 

sudo dpkg -i google-chrome-stable_current_amd64.deb

 

5) 크롬드라이버 linux 버전을 다운로드 받는다.

 

 

 

속성을 755 로 바꿔져야 합니다.

 

 

 

6) Synology에 WinSCP로 접속하여 @docker 하위 폴더 중 jupyter 컨테이너로 들어간 후, 해당 컨테이너 내에서 /usr/bin에 chromedriver를 넣는다.

 

이부분이 매우 헷갈린 부분이였습니다.

 

/volume2/@docker/btrfs/subvolumes/86bab759fec09e526f311c5536b395557faba6d4a0e8b29161678a2fd78f2e51/usr/bin

 

위 경로에 가서, 크롬드라이버를 설치했습니다.

(본인 헤놀로지에 외장 디스크를 사용해서, 여러분과 경로가 다를 수 있습니다.)

 

7) 주피터

 

 

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--headless")
options.add_argument('--no-sandbox')

driver = webdriver.Chrome(options=options)
driver.get('https://www.daum.net')
driver.implicitly_wait(3)
driver.get_screenshot_as_file('naver_main_headless1.png')

driver.quit()

 

 

 

위 코드를 실행하면,