steemKR 크롤링 하기

By @ferozah1/4/2018kr-newbie

안녕하세요. 뉴비 ferozah 입니다.
며칠전 @youngbinlee 님의 구글시트 강좌5 IMPORTXML로 하는 더 파워풀한 웹크롤링(https://steemit.com/kr/@youngbinlee/5-importxml) 강좌를 접하고 구글 스프레드 시트의 엄청난 기능을 알게 되어 어제 밤 늦게 까지 이것저것 해 보았습니다.

Steemkr.com의 최신글 페이지를 xpath를 이용해서 구글 스프레드 시트로 가지고 왔습니다.

먼저 크롬 브라우저의 검사 기능을 통해서 div class="PostSummary_footer" 를 설정하고 해당 클래스의 모든 링크를 가져오게 해봤습니다.

image.png

구글 스프레트 시트에는 아래와 같이 입력했습니다.
A1에는 https://steemkr.com/created/kr 의 URL이 있구요.
IMPORTxml(A1, "//div[@class='PostSummary__footer']//a/@href")

image.png

완전히 깔끔하게 나오진 않았지만 나름 중복 값을 제거하고 정렬을 시켜보니, tag 정보와 그래도 어느 정도 쓸만한 정보들이 나왔습니다.

@youngbinlee 님께서 숙제 내주셨던 빗썸 공지사항 크롤링에 도전해 보았는데요

공지사항 제목을 읽어오는 부분 : =IMPORTXML("http://bithumb.cafe/notice","//*[@class='entry-title']/a")

공지 사항 내용을 읽어오는 부분 : =IMPORTXML("http://bithumb.cafe/notice","//p/text()")

공지 사항의 링크를 읽어오는 부분 : =IMPORTXML("http://bithumb.cafe/notice","//h3/a/@href")

각각 위와 같이 작성을 했습니다.
결과는 아래와 같습니다. 나오긴 했는데 줄이 좀 안 맞네요. TT

image.png

파이썬이나 같은프로그래밍 지식 없이도 크롤링이 가능하다고 알게 된게 가장 큰 수확이었던거 같습니다.


최근에 데이터분석에 많이 쓰이는 'R'을 공부하고 있습니다. 혹시나 해서 R 크롤링으로 검색해 보니 엄청나게 많은 예제 소스들이 검색되었습니다. 해당 소스들을 응용해서 steemkr 사이트를 크롤링 해 볼 수 있지 않을까 하여 여러 차례 삽질을 통해 간단하게 15분 마다 최신글들에서 '글 제목'을 추출하는 크롤러를 만들었습니다.

소스는 아래와 같습니다.

image.png

steemkr.com/created/kr 페이지를 15분 주기로 불러와서 제목을 추출하고 추후의 분석을 위해 steem_test.csv 파일에 차곡차곡 쌓아 둡니다. 이렇게 보면 아주 간단한 소스인데 처음해보는거라 다른 R 유저 분들의 소스를 이해하고 응용하다 보니 시간이 꽤나 걸렸던 거 같습니다.

steemKR 데이터분석을 통해 앞으로 스티미언 분들에게 조금이라도 기여해 보고자 하는 마음으로 시작해 보았네요.^^

감사합니다!

comments