Python + PhantomJS를 사용한 웹 스크래핑 ① 환경 구축
개요
어떤 일로 python
로 웹 스크래핑용 스크립트를 만들게 되어, pip
를 처음 만지게 되었으므로 비망록으로 정리합니다.
절차
전제
전제
AWS EC2
python
2.7.6 설치됨 sudo
명령으로 실행합니다 PhantomJS
사용 pip 설치
다운로드
다음 명령을 사용하여
pip
설치용 python
파일을 다운로드합니다.command
wget "https://bootstrap.pypa.io/get-pip.py"
다운로드한 파일을 실행합니다.
command
sudo python get-pip.py
※아래의 원 라이너에서도 마찬가지로 설치 가능합니다.
command
curl -kL https://bootstrap.pypa.io/get-pip.py | python
확인
다음 명령으로 버전 정보가 표시되면 설치 완료입니다.
command
pip --version
사용법
이번에는
pip
에서 selenium
를 설치하여 사용해 보겠습니다.오류 회피
그러나 지금은 다음 명령으로 install하려고하면 오류가 발생합니다.
command
sudo pip install selenium
usr/local/bin
가 $PATH
에 포함되어 있지 않으므로 pip
명령이 인식되지 않습니다.$PATH에 추가하여 해결할 수 있지만, 이번에는 다음 명령으로 물리적으로 이동하여 해결합니다.
command
sudo cp /usr/local/bin/pip /usr/sbin/
확인
이제 다음 명령을 다시 실행하면 설치가 성공적으로 완료됩니다.
command
sudo pip install selenium
구현
다음 코드를 적절한 파일에 기록하십시오.
sample.py
from selenium import webdriver
import time
browser = webdriver.PhantomJS()
url = "http://google.com"
browser.get(url)
time.sleep(3)
print(browser.title)
그리고 다음 명령으로 실행
command
python sample.py
그러나 다음과 유사한 오류가 표시됩니다.
error
[ec2-user@adminserver sample]$ python sample.py
Traceback (most recent call last):
File "sample.py", line 4, in <module>
browser = webdriver.PhantomJS()
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/phantomjs/webdriver.py", line 52, in __init__
self.service.start()
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/common/service.py", line 81, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable needs to be in PATH.
이것은
PhantomJS
자체가 인스톨되어 있지 않은 것이 원인일까 생각되므로, 별도 PhantomJS
도 인스톨 할 필요가 있습니다.PhantomJS 설치
기본적으로 다음 명령을 순서대로 흘려 설치를 완료합니다.
yum 관련 설치
command
sudo yum install fontconfig freetype freetype-devel fontconfig-devel libstdc++
압축 파일 얻기
command
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
해동
command
bzip2 -d phantomjs-2.1.1-linux-x86_64.tar.bz2
sudo tar -xvf phantomjs-2.1.1-linux-x86_64.tar
심볼릭 링크 만들기
command
sudo ln -sf ~/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/bin/phantomjs
확인
command
phantomjs -v
다시 한번 다음 명령을 실행
command
python sample.py
무사히 잡혔습니다! !
끝에
이것으로 python
+ PhantomJS
에서의 스크래핑의 준비는 할 수 있었으므로, 나머지는 갈리갈리 코딩을 해 갈 뿐이군요♪
편안한 스크래핑 생활!
Reference
이 문제에 관하여(Python + PhantomJS를 사용한 웹 스크래핑 ① 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/bakira/items/8951aedc0b6bf4412c06
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Python + PhantomJS를 사용한 웹 스크래핑 ① 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/bakira/items/8951aedc0b6bf4412c06텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)