파이썬

라즈베리파이에서 셀레니움을 사용하기 해결완료

귀신이보인다 2020. 2. 17. 19:22
728x90
반응형

먼저 필자는 라즈베리파이3 B+ 모델을 사용중에 있습니다.

그것도 2대를 가지고 있습니다.

이유는 모르겠습니다.

어찌 하다보니 2대가 생겼습니다 ;;;

그러다보니 놀고 있는 라즈베리파이에 파이썬 서버를 만들어서 사용중에 있습니다.

물론 개발이라고 해야 될지는 모르겠으나 개발은 윈도우 데스크탑에서 만들어서 테스트도 같이 진행합니다.

그러면서 어? 이건 라즈베리파이에 실시간으로 알림을 받으면 어떨까 ?

 

라는 생각에 잠겨서 결국엔 라즈베리파이를 꺼내 제가 만들어둔 파이썬 파일을 라즈베리파이에 넣고 실행시켜서 사용하였습니다.

첫번째가 바로 성인만화 다운로더 입니다.

그러나 몇번 실행결과는 별로였다 입니다.

바로 자바스크립트를 셀레니움에서 처리를 해야 이미지를 다운로드가 되는 구조여서 방법이 없었습니다.

사이트 기준으로 보자면 성인만화 사이트는 이미지 를 제외하더라도 로딩에서 엄청 느립니다.

사양이 낮은 데스크탑에서도 뚝뚝 끊겨서 보실수 있을거 같습니다.

그래서 라즈베리파이를 두대를 사용합니다.

파이썬 서버를 구동시키는 라즈베리파이와 셀레니움 웹드라이버를 구동시키는 라즈베리파이

즉, 원격리모트 방식으로 점유율을 낮추는 방식으로 해보니 아주 잘됩니다.

저도 이러는 이유가 무엇인지 답을 찾지 못하였습니다.

하여튼 파이썬 셀레니움을 사용하시면서 중간에 멈춘다면 사이트의 로드와 라즈베리파이의 쓰잘데기 없는 로드 때문에 중간에 멈추는 현상 같아 보였습니다.

오후 6시부터 시작해서 지금까지 별 이상없이 진행이 잘되고 있네요.

쥔장 생각은 셀레니움 드라이버를 호출할때 점유율이 100% 멈추지 않고 로드 하고 그동안의 무엇도 하지못하고 그안에서 북치고 장구치고 하다가 셀레니움 드라이버가 중단되어 진행이 불가능하고 멈추는거 같습니다.

 

추가 내용

selenium-server-standalone-3.141.59.jar

이것을 사용하게 되면 점유율 문제가 해결이 됩니다.

#!/bin/sh
cd /home/pi/webdriver
java -jar selenium-server-standalone-3.141.59.jar -role hub -port 4444&
sleep 10s
java  -Dwebdriver.chrome.driver="/usr/bin/chromedriver" -jar selenium-server-standalone-3.141.59.jar -role webdriver -hub http://127.0.0.1:4444/grid/register -port 5555

 

위의 내용을 만드시기 바랍니다.

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

파일의 내용을 수정하셔야 됩니다.

파일의 마지막줄에서

lxterminal -e /home/pi/webdriver/webdriver.sh

추가하여 주시기 바랍니다.

참고로 제 라즈베리파이 환경은 풀버젼입니다.

728x90
반응형