将url表放入`data.frame`R-XML-RCurl
我正在尝试将url表放入将url表放入`data.frame`R-XML-RCurl,xml,r,web-scraping,rcurl,Xml,R,Web Scraping,Rcurl,我正在尝试将url表放入data.frame。在其他示例中,我发现以下代码有效: library(XML) library(RCurl) theurl <- "https://es.finance.yahoo.com/q/cp?s=BEL20.BR" tables <- readHTMLTable(theurl) 库(XML) 图书馆(RCurl) URL如果使用getURL获取文档内容,则可以获取该表。有时,readHTMLTable在获取内容时遇到问题。在这些情况下,建议尝试g
data.frame
。在其他示例中,我发现以下代码有效:
library(XML)
library(RCurl)
theurl <- "https://es.finance.yahoo.com/q/cp?s=BEL20.BR"
tables <- readHTMLTable(theurl)
库(XML)
图书馆(RCurl)
URL如果使用getURL
获取文档内容,则可以获取该表。有时,readHTMLTable
在获取内容时遇到问题。在这些情况下,建议尝试getURL
> library(XML)
> library(RCurl)
> URL <- getURL("https://es.finance.yahoo.com/q/cp?s=BEL20.BR")
> rt <- readHTMLTable(URL, header = TRUE)
> rt
>库(XML)
>图书馆(RCurl)
>URL rt
您可能需要调整header
参数和其他参数,但是表在那里。将getURLContent
的结果作为readHTMLTable()的参数传递。
?@har07感谢这是一个很好的改进。我可以考虑使用grep
查找标题的索引,然后提取表,但是有没有一种有效的方法可以直接将表提取到数据帧中?您真的不应该在xml/html内容上使用grep
。使用ssl.verifypeer=FALSE
是一个非常糟糕的主意。@AP13使用httr
设置RCurl首先要避免这个问题谢谢你的回答。我使用的是getURLContent
,因为getURL
在函数(type,msg,asError=TRUE)中给出了错误错误:SSL证书问题,请验证CA证书是否正常。详细信息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:CERTIFICATE verify failed
通过向getURL
调用添加SSL.verifypeer=FALSE
来解决错误,但得到的结果与使用getURLContent
的结果非常相似@Richard Scriven是的,我已经对您的答案进行了投票,因为它有帮助。我仍在试图弄清楚如何仅自动获取表的内容,即带有标题的表:符号、名称等。注意,通过选择getURL
输出的子列表并对适当的行进行子集设置,可以手动提取该表,因为还有其他不属于该表的内容。但是,应该有一种直接获取表的方法。