사용법2019. 2. 13. 15:45

크롤러를 만들다가 request get 을 해도 특정 부분이 없는 현상이 있었습니다.

찾아보니까 동적인 웹페이지는 코드를 통해서 문서가 만들어져 일부분만 가져와진다고 합니다.

그래서 Selelnium 을 이용하여 chormdriver 로 웹페이지를 수집하는 크롤러를 만들었습니다.


 

1. 먼저 크롬 드라이버를 준비합니다.

링크 : http://chromedriver.chromium.org/downloads

자신의 운영체제 환경에 맞는 파일을 준비하시면 됩니다.


2. 셀레니움을 인스톨합니다.

!pip install selenium 

을 통해 selenium 라이브러리를 깔아줍니다.


3. 코드를 작성합니다.


저는 대학교 커뮤니티 사이트인 에브리타임의 게시판 글과 데이터를 수집하기 위해서 셀레니움을 사용했습니다.




webdriver.Chrome 에 자신의 크롬드라이버가 있는 경로를 적어주시고

implicitly_wait 에 자신의 웹 브라우저가 암묵적으로 웹자원이 로드되는 시간이 얼마까지 기다리는지를 설정합니다.

driver.get 을 통해서 해당 웹페이지를 접속합니다.


아래 사진은 크롬드라이버가 작동한 예입니다.



윗 그림처럼 Chrome이 자동화된 테스트 소프트웨어에 의해 제어되고 있습니다. 라는 문구와 함께 작동하게 됩니다.


해당하는 코드를 보시고 everyrtime 의 아이디값과 패스워드 값을 입력하시면 웹브라우저가 자동으로 로그인을 하여 자유게시판을 클릭하는 모습을 볼 수 있습니다.





저는 everytime 게시판의 텍스트를 수집해서 워드클라우드를 만들어봤습니다.

자세한 내용은 코드가 다듬어지는 대로 전체 코드와 함께 설명하겠습니다.

Posted by richcherry