크롤러를 만들다가 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 게시판의 텍스트를 수집해서 워드클라우드를 만들어봤습니다.
자세한 내용은 코드가 다듬어지는 대로 전체 코드와 함께 설명하겠습니다.
'사용법' 카테고리의 다른 글
구글 홈으로 컴퓨터를 제어해 보자. - wol 이용 컴퓨터 켜기 (5) | 2019.02.23 |
---|---|
셀레니움 사용 - 에브리타임 크롤러와 워드클라우드 (7) | 2019.02.14 |
weka 사용법 - 3. Visualize (0) | 2018.12.20 |
weka 사용법 - 2. 실행 (0) | 2018.12.01 |
weka 사용법 - 1. 설치 (0) | 2018.11.25 |