R語言對Web數據操作實例

許多網站提供數據供其用戶使用。 例如,世界衛生組織(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天氣數據,並使用R在2015年下載CSV文件。

我們將使用函數getHTMLLinks()來收集文件的URL。 然後我們將使用函數downlaod.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"

到此這篇關於R語言對Web數據操作實例的文章就介紹到這瞭,更多相關R語言Web數據實操內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: