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"