티스토리 뷰

 

안녕하세요. 최근 셀레니움을 공부를 시작하면서 셀레니움에 관련된 글을 작성할 계획입니다.

셀레니움은 파이썬기반으로 동작을 하는대요.

셀레니움을 사용하기 위해서는 저는 비주얼 스튜디오 코드(Visual Studio Code)를 사용합니다. 

아래 버튼을 클릭하여 비주얼 스튜디오 코드를 다운로드할 수 있습니다.

 

 

 

 

비주얼 스튜디오 코드 외에도 파이썬이 필요한대요.

아래 버튼을 통하여 파이썬 코드 역시 다운받으실 수 있습니다.

 

 

 

 

셀레니움 와이어 사용이유

셀레니움 와이어를 사용하는 이유 먼저 설명해 드리겠습니다.

셀레니움의 XPATH값으로 대부분의 데이터를 크롤링이 가능한대요.

하지만 그래프 데이터나 팝업창 데이터와 같은 자바 스크립트를 통한 데이터값은 XPATH를 통해서

데이터 값을 가져오지 못하는 경우도 존재합니다.

 

하지만 자바스크립트를 통한 데이터 값은 브라우저 - 서버 간의 데이터 전달이 발생함으로

네트워크 패킷을 수집하여 데이터 수집을 진행할 수 있기 때문에 셀레니움 와이어를 사용합니다.

 

 

 

 

셀레니움 와이어란?

파이썬 환경에서 사용할 수 있는 셀레니움 모듈로

selenium-wire = selenium + 네트워크 패킷 관련 도구들로 이루어져 있습니다.

 

셀레니움 와이어 모듈 설치방법

셀레니움 와이어 모듈 설치방법은 코드 한 줄만 작성하면 돼서 정말 간단합니다. 위 코드를 터미널에 작성하면 끝입니다.

 

● 추가 설치

위 코드는 셀레니움과 웹드라이버 매니저 모듈설치하는 코드입니다.

아직 모듈을 설치하지 않으신 분들은 추가로 설치해 주시길 바랍니다.

 

셀레니움 와이어를 사용하면서 발생한 오류

저는 처음 셀레니움 와이어를 사용하면서 2가지 오류가 발생하였습니다.

1. ModuleNotFoundError: No module named 'blinker._saferef’

처음으로 발생한 오류는 'ModuleNotFoundError: No module named 'blinker._saferef’'입니다.

 

해당 오류 원인

해당 오류의 원인은 blinker 모듈에서 _saferef를 찾을 수 없을 때 발생한다고 합니다.

간단히 말해서 blinker 버전이 맞지 않을 때 발생한다고 하더군요

 

해결방법

해결방법은 버전에 맞는 blinker을 다운 받아주면 됩니다.

위 코드로 쉽게 해결할 수 있는 오류였습니다.

 

2. ModuleNotFoundError: No module named 'pkg_resources’

다음으로 발생한 오류는 'ModuleNotFoundError: No module named 'pkg_resources’'입니다.

 

해당 오류 원인

패키지 리소스를 못 찾을 때 발생한다고 합니다.

보통 Python 환경에서 seruptools가 없을 때 발생합니다.

 

해결 방법

해결방법은 seruptools을 다운 받으면 됩니다.

이 오류 역시 코드 한 줄로 간단히 해결되는 오류였습니다.

 

반응형