R中的Web抓取数据表不工作,XML或getURL
通常,我从站点获取表数据不会有任何问题,但这一次让我陷入了一个循环 我尝试了网站上的各种建议: [ [ [ 我尝试了这两种方法,试图从网站上获取一些信息,结果却出现了错误 第一种方法:R中的Web抓取数据表不工作,XML或getURL,r,web-scraping,datatables,R,Web Scraping,Datatables,通常,我从站点获取表数据不会有任何问题,但这一次让我陷入了一个循环 我尝试了网站上的各种建议: [ [ [ 我尝试了这两种方法,试图从网站上获取一些信息,结果却出现了错误 第一种方法: #####Reading in data library(RCurl) library(XML) library(xts) #pulling rainfall data csv direct_rainfall <- read.csv(url(getURL("http://cdec.water.ca.gov
#####Reading in data
library(RCurl)
library(XML)
library(xts)
#pulling rainfall data csv
direct_rainfall <- read.csv(url(getURL("http://cdec.water.ca.gov /cgi-progs/getMonthlyCSV?station_id=CVT&dur_code=M&sensor_num=2&start_date=1/1/2000&end_date=now")))
以以下错误结束:
错误:无法加载外部实体“”
任何指导都将不胜感激。我只是不明白为什么当我尝试从URL中提取时一无所获
谢谢!如果您查看该网站,它是一个格式合理的CSV。幸运的是,如果您传递
read.CSV
URL,它将自动为您处理连接,因此您真正需要的是:
url <- 'http://cdec.water.ca.gov/cgi-progs/getMonthlyCSV?station_id=CVT&dur_code=M&sensor_num=2&start_date=1/1/2000&end_date=now'
df <- read.csv(url, skip = 3, nrows = 17, na.strings = 'm')
df[1:5,1:10]
## X.station. X.sensor. X.year. X.month. X01 X02 X03 X04 X05 X06
## 1 CVT 2 2000 NA 20.90 19.44 3.74 3.31 5.02 0.85
## 2 CVT 2 2001 NA 7.23 9.53 3.86 7.47 0.00 0.15
## 3 CVT 2 2002 NA 3.60 4.43 8.71 2.76 2.78 0.00
## 4 CVT 2 2003 NA 1.71 4.34 4.45 13.45 2.95 0.00
## 5 CVT 2 2004 NA 3.41 10.57 1.80 0.87 0.90 0.00
url如果您查看该网站,它是一个格式合理的CSV。幸运的是,如果您传递read.CSV
url,它将自动为您处理连接,因此您真正需要的是:
url <- 'http://cdec.water.ca.gov/cgi-progs/getMonthlyCSV?station_id=CVT&dur_code=M&sensor_num=2&start_date=1/1/2000&end_date=now'
df <- read.csv(url, skip = 3, nrows = 17, na.strings = 'm')
df[1:5,1:10]
## X.station. X.sensor. X.year. X.month. X01 X02 X03 X04 X05 X06
## 1 CVT 2 2000 NA 20.90 19.44 3.74 3.31 5.02 0.85
## 2 CVT 2 2001 NA 7.23 9.53 3.86 7.47 0.00 0.15
## 3 CVT 2 2002 NA 3.60 4.43 8.71 2.76 2.78 0.00
## 4 CVT 2 2003 NA 1.71 4.34 4.45 13.45 2.95 0.00
## 5 CVT 2 2004 NA 3.41 10.57 1.80 0.87 0.90 0.00
url它不是HTML,而是CSV。只需使用read.CSV('http://cdec.water.ca.gov/cgi-progs/getMonthlyCSV?station_id=CVT&dur_code=M&sensor_num=2&start_date=1/1/2000&end_date=now“,skip=3,nrows=17)
咒骂!奏效了。我很烂。谢谢!我肯定把它复杂化了。它不是HTML,而是CSV。只需使用read.CSV即可('http://cdec.water.ca.gov/cgi-progs/getMonthlyCSV?station_id=CVT&dur_code=M&sensor_num=2&start_date=1/1/2000&end_date=now’,skip=3,nrows=17)
咒骂!奏效了。我很烂。谢谢!我肯定把事情复杂化了。