[Django Install] Selenium Standalone Server Install & Crawling Python Test
# jdk 1.8 설치
sudo apt-get update
sudo apt-get install openjdk-8-jdk
# xvfb 설치
sudo apt-get install -y unzip xvfb libxi6 libgconf-2-4
#구글 크롬설치 (아래는 루트 권한으로 실행해야 합니다.)
sudo curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add
sudo touch /etc/apt/sources.list.d/google-chrome.list
sudo chmod 777 /etc/apt/sources.list.d/google-chrome.list
sudo echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list
sudo apt-get -y update
sudo apt-get -y install google-chrome-stable
#자신의 크롬 버젼에 맞는 최신 크롬드라이버 주소를 찾아 다운로드 받습니다.
google-chrome --version (구글크롬 버전 확인)
https://sites.google.com/a/chromium.org/chromedriver/downloads (여기서 버전 확인하고 아래에 버전을 맞춘다.)
cd $HOME/xvfb/tar
wget https://chromedriver.storage.googleapis.com/83.0.4103.39/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
#다운로드 받은 크롬드라이버를 이동하고 실행 권한 주기
sudo mv chromedriver /usr/bin/chromedriver
sudo chown root:root /usr/bin/chromedriver
sudo chmod +x /usr/bin/chromedriver
#Remote Selenium WebDrivers 를 실행하기위한 jar 파일 다운로드
cd $HOME/xvfb/jar
wget https://selenium-release.storage.googleapis.com/3.13/selenium-server-standalone-3.13.0.jar
mv selenium-server-standalone-3.13.0.jar selenium-server-standalone.jar
#셀레니움 스탠드얼론 서버 시작
cd $HOME/xvfb/bin
vi $HOME/xvfb/bin/xvfb.sh (아래 내용 추가)
# 아래 내용 시작
nohup xvfb-run java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar /home/ubuntu/xvfb/jar/selenium-server-standalone.jar >> /home/ubuntu/xvfb/logs/xvfb.log &
# 아래 내용 종료
chmod 777 $HOME/xvfb/bin/xvfb.sh
# xvfb.sh 수행 시 3개의 프로세스가 실행됨
ubuntu 17578 1 0 04:56 pts/0 00:00:00 /bin/sh /usr/bin/xvfb-run java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar /home/ubuntu/xvfb/jar/selenium-server-standalone.jar
ubuntu 17589 17578 0 04:56 pts/0 00:00:00 Xvfb :99 -screen 0 640x480x16 -nolisten tcp -auth /tmp/xvfb-run.HhP4Jr/Xauthority
ubuntu 17592 17578 19 04:56 pts/0 00:00:00 java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar /home/ubuntu/xvfb/jar/selenium-server-standalone.jar
# 프로세스 확인 shell 작성
vi $HOME/xvfb/bin/ps.sh (아래 내용 추가)
# 아래 내용 시작
ps -ef | grep xvfb
# 아래 내용 종료
chmod 777 $HOME/xvfb/bin/ps.sh
vi $HOME/xvfb/bin/net.sh (아래 내용 추가)
# 아래 내용 시작
netstat -ntlp | grep :4444
# 아래 내용 종료
chmod 777 $HOME/xvfb/bin/net.sh
#Headless ChromeDriver 시작
chromedriver --url-base=/wd/hub
#파이썬에서 셀레니움 실행 테스트
vi $HOME/xvfb/bin/test.py (아래 내용 추가)
# 아래 내용 시작
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
driver = webdriver.Remote('http://127.0.0.1:4444/wd/hub', DesiredCapabilities.CHROME)
driver.get("https://www.naver.com")
print(driver.page_source)
driver.close() # chrome driver close (중요!!!)
driver.quit() # chrome driver quit (중요!!!)
# 아래 내용 종료
python $HOME/xvfb/bin/test.py
[Selenium Client Install]
cat /var/log/syslog | grep CRON (crontab Log 확인)
#! /bin/bash
source /home/ubuntu/.virtualenvs/aicrawler/bin/activate
python /home/ubuntu/aicrawler/bin/c_yt_univ.py >> /home/ubuntu/aicrawler/logs/c_yt_univ.log
댓글
댓글 쓰기