许多网站提供数据供其用户使用。 例如,世界卫生组织(WHO)以CSV,txt和XML文件的形式提供健康和医疗信息的报告。 使用R语言程序,我们可以从这些网站以编程方式提取特定数据。 R语言中用于从网站中提取数据的一些包是“RCurl”,XML“和”stringr“,它们用于连接到URL,识别文件所需的链接并将它们下载到本地环境。
安装R语言的包
处理URL和链接到文件需要以下的包。 如果它们在R语言环境中不可用,您可以使用以下命令安装它们。
1
2
3
4
|
install .packages( "RCurl" )
install .packages( "XML" )
install .packages( "stringr" )
install .packages( "plyr" )
|
输入数据
我们将访问URL天气数据,并使用R在2015年下载CSV文件。
例
我们将使用函数getHTMLLinks()来收集文件的URL。 然后我们将使用函数downlaod.file()将文件保存到本地系统。 由于我们将对多个文件一次又一次地应用相同的代码,因此我们将创建一个被多次调用的函数。 文件名作为参数以R列表对象的形式传递到此函数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# 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语言工作目录中找到以下文件。
1
2
|
"JCMB_2015.csv" "JCMB_2015_Apr.csv" "JCMB_2015_Feb.csv" "JCMB_2015_Jan.csv"
"JCMB_2015_Mar.csv"
|
到此这篇关于R语言对Web数据操作实例的文章就介绍到这了,更多相关R语言Web数据实操内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.w3cschool.cn/r/r_web_data.html