R-웹 데이터
많은 웹 사이트에서 사용자가 사용할 데이터를 제공합니다. 예를 들어 세계 보건기구 (WHO)는 CSV, txt 및 XML 파일 형식으로 건강 및 의료 정보에 대한 보고서를 제공합니다. R 프로그램을 사용하여 이러한 웹 사이트에서 특정 데이터를 프로그래밍 방식으로 추출 할 수 있습니다. 웹에서 데이터를 스크랩하는 데 사용되는 R의 일부 패키지는 "RCurl", XML "및"stringr "이며 URL에 연결하고 파일에 필요한 링크를 식별하고 로컬 환경으로 다운로드하는 데 사용됩니다.
R 패키지 설치
다음 패키지는 URL 및 파일 링크를 처리하는 데 필요합니다. R 환경에서 사용할 수없는 경우 다음 명령을 사용하여 설치할 수 있습니다.
install.packages("RCurl")
install.packages("XML")
install.packages("stringr")
install.packages("plyr")
입력 데이터
URL 날씨 데이터를 방문하여 2015 년 R을 사용하여 CSV 파일을 다운로드합니다.
예
우리는 기능을 사용할 것입니다 getHTMLLinks()파일의 URL을 수집합니다. 그런 다음 함수를 사용합니다.download.file()로컬 시스템에 파일을 저장합니다. 여러 파일에 동일한 코드를 반복해서 적용하므로 여러 번 호출 할 함수를 생성합니다. 파일 이름은이 함수에 R 목록 객체의 형태로 매개 변수로 전달됩니다.
# Read the URL.
url <- "http://www.geos.ed.ac.uk/~weather/jcmb_ws/"
# Gather the html links present in the webpage.
links <- getHTMLLinks(url)
# Identify only the links which point to the JCMB 2015 files.
filenames <- links[str_detect(links, "JCMB_2015")]
# Store the file names as a list.
filenames_list <- as.list(filenames)
# Create a function to download the files by passing the URL and filename list.
downloadcsv <- function (mainurl,filename) {
filedetails <- str_c(mainurl,filename)
download.file(filedetails,filename)
}
# Now apply the l_ply function and save the files into the current R working directory.
l_ply(filenames,downloadcsv,mainurl = "http://www.geos.ed.ac.uk/~weather/jcmb_ws/")
파일 다운로드 확인
위 코드를 실행 한 후 현재 R 작업 디렉토리에서 다음 파일을 찾을 수 있습니다.
"JCMB_2015.csv" "JCMB_2015_Apr.csv" "JCMB_2015_Feb.csv" "JCMB_2015_Jan.csv"
"JCMB_2015_Mar.csv"