일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 프로그래머스
- 지도학습
- 빅데이터분석기사
- 시계열
- ML
- arima
- hadoop
- 에트리 인턴
- 가나다영
- 서평
- 빅분기
- ggplot2
- dx
- python
- 웹크롤링
- kt aivle school
- 하둡
- kaggle
- Eda
- matplot
- r
- KT 에이블스쿨
- 딥러닝
- 에이블러
- 다변량분석
- httr
- Ai
- 기계학습
- 한국전자통신연구원
- 하계인턴
- KT AIVLE
- 에이블스쿨
- 머신러닝
- SQLD
- 소셜네트워크분석
- cnn
- 시각화
- ETRI
- SQL
- 한국전자통신연구원 인턴
Archives
- Today
- Total
소품집
[웹 크롤링] R로 네이버 실검 크롤링 하기 본문
728x90
데이터 분석을 할 때 웹 크롤링을 해 웹 데이터를 수집 및 분석 하는 경우가 많은 데요.
그 중에서도 가장 기본인 내용으로 웹 크롤링을 연습 해보려고 합니다.
웹 서버는 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개 모두 나온 것을 확인했습니다.
참조
더 공부하고 숙지해서 웹 크롤링 데이터 분석방법 또한 순차적으로 게시하려고 합니다.
728x90
'Web crawling' 카테고리의 다른 글
[웹 크롤링] KOSPI 200 기업 (0) | 2020.04.25 |
---|---|
[웹 크롤링] JavaScript로 된 html 불러오기 (0) | 2020.04.13 |
[웹 크롤링] 웹크롤링 쿠키 이용 (0) | 2020.04.09 |
[웹 크롤링] 웹 크롤링 프로세스의 이해 (0) | 2020.04.09 |
[웹 크롤링] 퍼센트 인코딩을 활용한 웹크롤링 실습 (0) | 2020.04.08 |
Comments