[R lang 크롤링] [R 코드] 웹사이트 크롤링

 

 

1. rvest 패키지 

  : html과 xml 자료를 가져와서 처리할 수 있는 패키지, 크롤링 시 사용

 

 

 

 

 

2. rvest 함수

 

① read_html()

 

- 내용 : URL의 html 파일을 읽고 저장

- 형식 : read_html (url, encoding = “UTF-8”)

 

② html_nodes()

- 내용 : 태그가 포함하고 있는 속성을 모두 반환, tag나 class와 같은 요소를 추출하고자 할 경우에 사용, 

           속성이 class라면 ‘css’를 사용

- 형식 : html_nodes(css='.type01')

 

③ html_node()

- 내용 : 태그(node이름, css주소, xpath등)가 포함하는 속성을 1개만 반환, 

           id를 찾을 경우 사용 (속성이 id인 경우 속성값 앞에 #을 붙임)

- 형식 : html_node(html, '#main')

 

④ html_attr() 

- 내용 : 태그가 포함하는 값을 반환

 

⑤ html_text() 

- 내용 : text 부분만 추출

 
 
 

 

3. rvest 사용 예시 : 네이버 뉴스 크롤링

 

 

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

 

 

 

 

 

 

 

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
install.packages("XML")
install.packages("stringr")
install.packages("rvest")
install.packages("RCurl")
install.packages("httr")
 
library(XML)
library(stringr)
library(rvest)
library(Rcurl)
library(httr)
 
setwd("C:/Users/user/Downloads")
final <- NULL
 
 
 
urlbase1 = ("https://search.naver.com/search.naver?&where=news&query=%EA%B3%84%EC%97%B4%EC%82%AC&sm=tab_pge&sort=0&photo=0&field=0&reporter_article=&pd=3&ds=2018.01.01&de=2018.05.14&docid=&nso=so:r,p:from20180101to20180514,a:all&mynews=0&cluster_rank=")
urlbase2 = ("&start=")
urlbase3 = ("&refresh_start=0")
 
 
# 최종
 
for(i in 1:200){
  for(j in 1:50){
    
    i <- i+10
    j<-0
    temp <- NULL
    url <- paste(urlbase1, j, urlbase2, i, urlbase3, sep='')
    line <- readLines(url, encoding="UTF-8", warn=FALSE)
    
    html <- read_html(line)
    temp <- unique(html_nodes(html, '#main_pack')%>%
                     html_nodes(css='.news')%>%
                     html_nodes(css='.type01')%>%         
                     html_nodes('a')%>%
                     html_attr('title'))
    
    temp3 <- html_nodes(html, '#main_pack')%>%
      html_nodes(css='.news')%>%
      html_nodes('dd')%>%
      html_text()
    
    
    write.csv(temp3,file="제목.csv")
 
    
  }
}
 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

* stringr 패키지 : 문자열 활용하기 위한 패키지

* httr 패키지 : 웹에서 json 데이터를 호출할 때 사용하는 패키지

* RCurl 패키지 : leadline() 함수처럼 패키지의 getURL() 함수를 사용하여 데이터를 추출할 때 사용

                     (To get more advanced http features such as POST capabilities and https access, 

                      you’ll need to use the RCurl package. )

 

 

출처: https://kej8293.tistory.com/14 [*:티스토리]

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86113
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 78624
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95339
46 [데이터분석 & 데이터 사이언스] 수많은 데이터 사이언티스트들이 직장을 떠나는 이유는 무엇인가? file 졸리운_곰 2025.03.09 901
45 [데이터분석][파이썬][python] 한글 글꼴 사용 (matplotlib) 졸리운_곰 2024.04.18 1360
44 [데이터분석 & 데이터 사이언스] 데이터에 관한 꼭 알아야 할 오해와 진실 12가지 졸리운_곰 2024.01.17 1315
43 [데이터분석][파이썬][python] Awesome Dash Awesome file 졸리운_곰 2021.07.10 2338
42 [데이터분석][파이썬][python] ???? Introducing Dash ???? file 졸리운_곰 2021.07.10 1606
41 [dataset] (한글) 욕설 감지 데이터셋 file 졸리운_곰 2021.05.12 1559
40 [데이터분석][python] Dash를 사용하는 초보자 및 기타 모든 사용자를위한 Python의 대시 보드 file 졸리운_곰 2021.04.14 1762
39 [데이터분석][python] Dash를 사용하는 초보자 및 기타 모든 사용자를위한 Python의 대시 보드 file 졸리운_곰 2021.04.14 1602
38 [데이터분석][데이터 사이언스][python][Dash] Python, Dash 및 Plotly를 사용하여 COVID-19 사례 데이터 시각화 file 졸리운_곰 2021.03.28 1501
37 [데이터분석][머신러닝] When not to use machine learning or AI Adventures in wishful thinking, nonstationarity, and pattern-finding / 기계 학습 또는 AI를 사용하지 않아야하는 경우 희망찬 사고, 비정상 성, 패턴 찾기의 모험 file 졸리운_곰 2021.03.28 21621
36 [MSA][머신러닝] 쿠버네티스 기반의 End2End 머신러닝 플랫폼 Kubeflow #1 - 소개 file 졸리운_곰 2021.03.21 1135
35 [데이터사이언스] 데이터 과학자를위한 3 가지 훌륭한 디자인 패턴, 3 Great Design Patterns for Data Scientists file 졸리운_곰 2021.03.04 779
34 [데이터분석] 시계열 데이터에 AI를 사용하는 이유는 무엇입니까? file 졸리운_곰 2021.02.28 1191
33 [데이터분석] AI 예측 및 이상 탐지를위한 시계열 데이터 전처리 file 졸리운_곰 2021.02.28 1031
32 [데이터분석] bitcoin analysis 비트 코인 시계열 데이터에 대한 AI 이상 탐지 file 졸리운_곰 2021.02.27 1588
31 [데이터분석 & 데이터 사이언스] How To Create a Data Science Portfolio Website file 졸리운_곰 2021.02.14 1823
30 [데이터수집4] 오픈 API 데이터 수집 (소셜미디어 데이터 수집) file 졸리운_곰 2020.06.12 1950
29 [데이터수집3] 관계형 데이터베이스 데이터 수집 file 졸리운_곰 2020.06.12 1317
28 [데이터수집2] 분산시스템 로그 수집 (빅데이터 수집) file 졸리운_곰 2020.06.12 1492
27 [데이터수집1] 웹 크롤링, 웹 스크래핑 file 졸리운_곰 2020.06.12 1804
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED