-
Selenium에서 element의 특정 속성(attribute) 제거하기(readonly, onchange, disabled 등)
element의 readonly나 disabled, onchange 같은 특정 attribute를 제거하고 크롤링을 하고 싶을 때, 간단한 자바스크립트 구문을 이용해 제거할 수 있습니다. 속성(Attribute) 제거하기 selenium webdriver에는 execute_script라는 자바스크립트를 실행할 수 있는 함수가 있습니다. 자바스크립트의 removeAttribute 함수를 이용해 속성을 제거할 수 있습니다. 예를 들어, 다음과 같은 element가 있다고 가정해보겠습니다. . . . <input type="text"...
-
Selenium remote webdriver를 사용한 크롤링
selenium remote webdriver webdriver를 local에서 실행시키는 대신 특정 원격 서버에서 실행시킬 수 있는 webdriver를 말합니다. 이를 이용해 동시에 여러 머신에서 자동화 테스팅을 수행할 수 있고, distribute 환경에서 유용하게 쓰입니다. 제 경우엔 urllib.error.URLError: <urlopen error [Errno 111] Connection refused> 이 에러를 해결하기 위해서 remote webdriver를 사용했습니다. 장점 브라우저가 있는 곳으로부터 테스트가...
-
Ubuntu에서 pyenv, virtualenv, autoenv 설정 방법
pyenv, virtualenv, autoenv ?? pyenv란? 로컬에서 다양한 파이썬 버전을 쉽게 쓸 수 있도록 도와주는 것. 어떤 프로젝트에서는 python 3.5.2를, 다른 프로젝트에서는 python 2.7.3을 쓰고 싶거나 할 때 쓰인다. virtualenv란? 로컬에서 다양한 파이썬 환경을 구축하기 위한 것. python package(pip)에 관한 의존성을 해결해 줄 수 있다. autoenv란? virtualenv를 설정해주고 나면 프로젝트 폴더를...
-
selenium에서 임의의 ip로 크롤링하기 (python, Ubuntu, Firefox)
selenium으로 크롤링을 하다보면 ip를 막아버리는 사이트도 있습니다. 이를 피하기 위해 Tor를 이용해, selenium에서 임의의 ip로 크롤링하는 방법에 대해서 작성했습니다.(Ubuntu, Firefox) 구동 환경 제 구동환경은 다음과 같습니다.(참고) Ubuntu 16.04 selenium 3.8.0 python 3.6.0 firefox 57.0.1 geckodriver 0.19.1 임의의 ip로 크롤링하기 Tor 설치 sudo apt-get update sudo apt-get install tor /etc/init.d/tor restart...
-
Mac OS X에서 AWS 프리티어 EC2 instance 생성 및 접속하기(Ubuntu)
AWS (Amazon Web Service)란? AWS는 간단히 말해 아마존에서 제공하는 여러 서비스들을 의미합니다. 저희는 그 중에서도 EC2라는 서비스의 instance를 생성 및 접속하는 방법에 대해서 알아보겠습니다. EC2 instance? EC2 instance는 쉽게 생각해서 우리가 일반적으로 보는 PC나 서버와 똑같은 형태이며 Linux나 Windows가 설치되어 있습니다. 가상 서버이기 때문에 모니터에는 직접 연결할 수 없고 터미널...