공부2019. 3. 22. 17:04

github 주소입니다. https://github.com/choinamki/google_translate_useing_selenium


수집한 데이터가 영어가 아니라서 lda를 사용 할 수 없었습니다.

lda를 사용하기 위해서 구글 번역기(google translate) 홈페이지에 접속해서 문장을 번역하는 코드를 만들었습니다.

각 나라 언어들을 구글 번역기를 이용하여 영어로 번역시켜 줍니다.


Posted by richcherry
사용법2019. 2. 14. 23:42

해당 블로그를 참조했습니다. https://lovit.github.io/nlp/2018/04/17/word_cloud/


이정민 학생과 같이 제작중입니다. https://jeongmin-lee.tistory.com/53

해당 코드 깃허브 주소입니다. https://github.com/choinamki/everytime_crawler/



인터넷을 돌아다니다가 월드오브탱크 갤러리 게시글을 수집하여 만든 워드클라우드를 보고 흥미가 동했습니다.

그래서 호기심에 제가 자주 보는 에브리타임 게시글로 워드클라우드를 만들어 보기로 했고, 제작한 코드를 이정민 학생과 같이 수정중에 있습니다.



작동 원리는 에브리타임 홈페이지에 접속하여 로그인을 한 뒤 자유게시판 버튼의 XPATH 값을 찾아서 클릭합니다.


페이지 하나당 20개의 자유게시판 글들이 보여집니다.  FIND_NUM 만큼 돌아서 총 FIND_NUM * 20만큼의 게시글 접속링크를 얻을 수 있습니다.



everytime_link.txt 로 해당하는 접속링크를 저장합니다.




이것을 가지고서 각 게시글의 접속, 해당하는 게시글의 텍스트를 가져와서 json 형식으로 저장합니다.



해당하는 텍스트 들을 하나의 str 로 만들어 kr-wordrank를 이용하여 단어와 빈도수로 만든 뒤 이것을 통해 wordcloud를 만듭니다.




워드클라우드를 기본폰트로 만들면 한글이 깨지기 때문에 한글을 표시할 수 있는 폰트가 필요합니다.

저는 나눔고딕을 사용했습니다.





plt 를 사용하여 워드클라우드 그림을 그리고 저장할 수 있습니다.

Posted by richcherry
사용법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