소품집

[웹 크롤링] R로 네이버 실검 크롤링 하기 본문

Web crawling

[웹 크롤링] R로 네이버 실검 크롤링 하기

sodayeong 2020. 3. 30. 17:32

 

 

데이터 분석을 할 때 웹 크롤링을 해 웹 데이터를 수집 및 분석 하는 경우가 많은 데요.

그 중에서도 가장 기본인 내용으로 웹 크롤링을 연습 해보려고 합니다.

 

 

 

 

 

 

 

 

  웹 서버는 html, css 등을 이용해 이미지 된 형상을 전송 하고, 우리는 브라우저(크롬, 익스플로어 등)으로 서버에서 전송 된 것을 유저에게 보여주게 됩니다. 우리가 구글 검색어를 보지만, 실제 웹 서버는#logo-default 를 브라우저에서 읽어드린 것과 같이요.

 


웹 사이트에 있는 데이터 가져오기

 

웹 사이트에 있는 데이터를 가져오기 위해서는 HTTP 를 요청하고, 추출, 저장 하는 과정이 있습니다.

 

library(rvest)
library(httr)
library(dplyr)

먼저, 필요한 R 패키지를 다운해줍니다.

 

#HTTP 요청 실행 
res <- GET(url='https://datalab.naver.com/keyword/realtimeList.naver?where=main')

 

 

httr 패키지 안에 내장 된 GET 함수로 실시간 검색어 url 을 불러오고,

Status의 개수를 파악합니다.

 

#HTTP 응답상태 확인
status_code(x=res)

status code 를 확인했을 때 총 200개가 나오면 잘 불러와 진 것을 확인할 수 있습니다.

 

#네이버 실시간 검색어 추출하기
# cat() 함수는 벡터를 나열해서 출력함
content(x=res,as='text',encoding = 'UTF-8') %>% cat()
html <- read_html(x=res)

res 에 저장된 HTML을 텍스트로 출력하기 위해 인코딩 작업을 해줍니다.

 

#HTML 에서 CSS로 필요 요소 선택
span <- html_nodes(x=html,css='span.item_title')

 

 

searchWords <- html_text(x=span)
print(searchWords) 

 

 

순위 20개 모두 나온 것을 확인했습니다.

 

 

 


 

참조

웹 서버란 무엇일까?

 

웹 서버란 무엇일까?

"Web server"는 하드웨어, 소프트웨어 혹은 두 개 모두를 의미할 수 있습니다.

developer.mozilla.org


 

 

더 공부하고 숙지해서 웹 크롤링 데이터 분석방법 또한 순차적으로 게시하려고 합니다.

 

 

728x90
Comments