使用R从多个网页中提取HTML表

时间:2014-06-01 13:04:09

标签: html r xml-parsing html-parsing

您好我已经做了彻底的研究并且达到了这个程度。我所要做的就是提取跨越许多网页的HTML表格。

我必须查询网站sec.gov的数据库,然后该表返回适当数量的结果(页面的大小和数量随每个查询而变化)。例如:

链接:http://www.sec.gov/cgi-bin/srch-edgar

要提供的输入:

输入搜索字符串框: form-type =(8-k)AND filing-date = 20140523

开始时间: 2014

结束: 2014

如果不打开浏览器,我怎么能完全在R中完成这个?

我正在分享我所做的一切

我尝试了很多包,而我最接近的是包RCurl。但在getURL函数中,我打开浏览器,在浏览器中运行查询并将其粘贴到getURL中。它返回了一个非常长的字符,其中包含可以循环的URL并生成我想要的输出。所有这些信息都在"中心"输出标签。

现在我不知道如何从角色中间取出这些网址。

此外,这不是我想要的。我想直接从R运行一个Web查询,并将各种HTML表输出直接输入到R.这有可能吗?

由于 米娜

1 个答案:

答案 0 :(得分:0)

是的,有可能。您将需要使用RCurl和XML包的组合。您需要以编程方式在URL中生成查询参数(基于HTML表单),然后使用getURL()getURLContent()。有时,服务器会期望HTTP POST,因此有postForm()

要解析结果,请使用getNodeSet()查找XML包支持的XPath语言。我认为XML包中还有一个函数用于将HTML表解析为data.frame

您可能希望投资此book