- 전체
- Sample DB
- database modeling
- [표준 SQL] Standard SQL
- G-SQL
- 10-Min
- ORACLE
- MS SQLserver
- MySQL
- SQLite
- postgreSQL
- 데이터아키텍처전문가 - 국가공인자격
- 데이터 분석 전문가 [ADP]
- [국가공인] SQL 개발자/전문가
- NoSQL
- hadoop
- hadoop eco system
- big data (빅데이터)
- stat(통계) R 언어
- XML DB & XQuery
- spark
- DataBase Tool
- 데이터분석 & 데이터사이언스
- Engineer Quality Management
- [기계학습] machine learning
- 데이터 수집 및 전처리
- 국가기술자격 빅데이터분석기사
- 암호화폐 (비트코인, cryptocurrency, bitcoin)
stat(통계) R 언어 [R lang 크롤링] [R 코드] 웹사이트 크롤링
2023.12.10 18:54
[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 사용 예시 : 네이버 뉴스 크롤링
|
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 [*:티스토리]
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 오라클 기본 샘플 데이터베이스 | 졸리운_곰 | 2014.01.02 | 86189 |
| 공지 | [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE | 가을의 곰을... | 2013.02.10 | 78669 |
| 공지 | [G_SQL] Sample Database | 가을의 곰을... | 2012.05.20 | 95405 |

