Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将url表放入`data.frame`R-XML-RCurl_Xml_R_Web Scraping_Rcurl - Fatal编程技术网

将url表放入`data.frame`R-XML-RCurl

将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

我正在尝试将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
在获取内容时遇到问题。在这些情况下,建议尝试
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
输出的子列表并对适当的行进行子集设置,可以手动
提取该表,因为还有其他不属于该表的内容。但是,应该有一种直接获取表的方法。