• 목록
  • 아래로
  • 위로

저는 우분투와 파이썬에 대해 잘 모르기 때문에 이 글에 부족한 부분이 많을 것으로 생각됩니다.


부정확한 부분이 있으면 댓글로 말씀해주시면 감사하겠습니다.



PhantomJS가 다른 Headless browser와 비교할 때 설치 및 Webdriver API 사용법이 가장 간단하지만,


현재는 deprecated된 상태이고 실행은 되지만 크롬이나 파폭을 이용하라고 경고가 뜹니다.


또한 크롬이나 파폭에서 보이는 화면과 다르게 보이는 경우가 적지 않게 있어서 


일일이 스크린샷을 찍으며 확인을 해야 되고,


가장 큰 문제점은 자바스크립트와 관련하여 충돌이 발생하는 경우가 있습니다.



한편 Chromedriver는 윈도우에서는 chromedriver.exe만 있으면 잘 돌아가지만


현재 우분투에서 크로미움과 관련하여 여러 에러가 보고되고 있습니다.


제가 아직 이에 대한 확실한 솔루션을 제시한 글을 찾지 못해서 이 글에서는 다루지 않겠습니다.



설치를 시작하기에 앞서 시스템을 최신으로 업데이트하는 것을 권장합니다.


# sudo apt-get update -y
# sudo apt-get upgrade -y
# sudo shutdown -r now




1. PhantomJS


(1) 우선 PhantomJS에서 필요로 하는 패키지를 설치합니다.

# sudo apt-get install build-essential chrpath libssl-dev libxft-dev libfreetype6-dev libfreetype6 libfontconfig1-dev libfontconfig1 -y


(2) 현재 최신버전의 PhantomJS를 다운로드 받습니다.

# sudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2


(3) 압축을 해제합니다.

# sudo tar xvjf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/share/


(4) 심링크를 생성합니다.

# sudo ln -s /usr/local/share/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/


(5) 설치된 PhantomJS의 버전을 확인해봅니다.

# phantomjs --version


(6) 파이썬에서는 webdriver API를 다음과 같은 방법으로 사용할 수 있습니다.


driver = webdriver.PhantomJS('/usr/local/bin/phantomjs')





2. Geckodriver (Firefox)


셀레니움 3.0 이전 버전에서는 geckodriver를 따로 설치할 필요가 없었지만 


현재는 설치를 하지 않으면 에러를 발생합니다.



우선 파이어폭스가 설치되어 있다는 전제하에 최신버전의 geckodriver를 다운받습니다.


# wget https://github.com/mozilla/geckodriver/releases/download/v0.18.0/geckodriver-v0.18.0-linux64.tar.gz



geckodriver 파일을 어느 폴더에 압축을 풀어야 하는지에 관하여 버전별로 조금씩 차이가 있고 이에 대한 논쟁이 있는데


현재는 /usr/local/bin/에 설치하고 퍼미션을 777로 주면 작동하는 것을 확인했습니다.

(주의: /usr/bin/이나 /usr/local/bin/geckodriver/가 아닙니다.)



기본적으로는 다음과 같은 방법으로 파이썬에서 Webdriver API를 사용할 수 있습니다.


-headless 등 옵션을 사용하려면 import 해줘야 합니다. (크롬과 차이점)



from selenium.webdriver.firefox.options import Options


options = webdriver.FirefoxOptions()

options.add_argument('-headless')

driver = webdriver.Firefox(executable_path="/usr/local/bin/geckodriver", firefox_options=options)



작성자
이니스프리 119 Lv. (3%) 4887580/115200000EXP

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

댓글 0

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [중요공지] 추석 맞이 서버 업데이트 안내 5 마스터 마스터 25.10.09.02:20 78541
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 7 마스터 마스터 23.01.14.02:23 371984
552 경험치에 관련해서 문의가 많군요. 조금 정리해봤습니다. 10 마스터 마스터 16.09.16.22:59 938
551 애드블록은 사용하시면 안됩니다! 6 image 에듀 title: 맛스타의 자물쇠에듀 16.09.18.19:56 1148
550 복권 긁지않고 내용물 확인하는 방법.. 5 title: 황금 서버 (30일)어코 16.09.19.13:08 927
549 인증서 설치하신분들중 WoSign, StartSSL 인증서를 사용하시는분들은 봐주세요 3 YJSoft YJSoft 16.10.01.20:32 981
548 .tk(freenom) 로 접속이 안되는 분들이 요즘 왕왕보이네요. 15 image 마스터 마스터 16.10.05.13:40 2550
547 멘션 설정을 해주세요. 1 image 에듀 title: 맛스타의 자물쇠에듀 16.12.01.20:47 809
546 게시글 이동시 포인트는 차감됩니다. 2 image 에듀 title: 맛스타의 자물쇠에듀 16.12.03.22:34 901
545 [롯데리아] 클래식 치즈버거 주문시 치즈스틱 무료 증정 이벤트 6 image 이니스프리 이니스프리 16.12.07.00:20 924
544 특정사이트 접근제한 하는 방법 1 image 대전댁 title: 은메달대전댁 16.12.09.21:13 1293
543 [생활정보] 12/5-12/11 7일간 와퍼 주니어 51% 할인 (1900원) 6 image 이니스프리 이니스프리 16.12.10.00:26 849
542 [생활정보] 동동주 베이스의 안동 찹쌀 소주가 출시되었습니다 7 image 이니스프리 이니스프리 16.12.13.12:57 918
541 [펌] 자동차 월동준비 노하우 - 다들 미리미리 월동준비 하세요 ^^ 1 image 이니스프리 이니스프리 16.12.14.11:41 820
540 [정보] 생각보다 열량이 높은 음식 8가지.jpg 2 image 하루살이 title: 황금 서버 (30일)하루살이 16.12.17.12:36 901
539 [정보] 과제할 때 유용한 사이트 11선.jpg 2 image 하루살이 title: 황금 서버 (30일)하루살이 16.12.17.12:41 947
538 [정보] 일상적인 물건들에 숨겨진 비밀 13가지.jpg image 하루살이 title: 황금 서버 (30일)하루살이 16.12.17.12:43 906
537 [할인정보] 버거킹 와퍼, 롱킹, 롱치킨버거 할인 (연말까지) image 이니스프리 이니스프리 16.12.19.10:45 781
536 [IT정보] Kaspersky Internet Security 40% 세일! 이니스프리 이니스프리 16.12.19.17:49 895
535 [생활정보] 롯데리아 포켓몬 인형 이벤트! image 이니스프리 이니스프리 16.12.21.00:24 864
534 [생활정보] 굽네치킨 신메뉴 출시 - '갈비천왕' 1 이니스프리 이니스프리 16.12.22.14:44 865
533 [이벤트정보] 비타500 매주 10,000명 무료 제공 이벤트 1 image 이니스프리 이니스프리 16.12.23.23:47 591