1

我想从 URL“ http://www.moneycontrol.com/financials/oilnaturalgascorporation/profit-loss/IP02 ”中提取表(表 4)。问题是我将不得不使用 RSelenium

现在这是我正在使用的代码:

remDr$navigate(URL)
doc<-htmlParse(remDr$getPageSource()[[1]])
x<-readHTMLTable(doc)

上面的代码无法提取表 4。但是,当我不使用下面的 Rselenium 时,我可以轻松地提取表

download.file(URL,'quote.html')
doc<-htmlParse('quote.html')
x<-readHTMLTable(doc,which=5)

请让我解决这个问题,因为我已经在这部分卡了一个月了。欣赏您的建议

4

3 回答 3

1

我认为它工作正常。您可以使用 download.file 获得的表也可以通过使用以下 RSelenium 代码获得

readHTMLTable(htmlParse(remDr$getPageSource(),asText=TRUE),header=TRUE,which=6)

希望有帮助!

于 2015-08-20T02:34:21.580 回答
0

我在或多或少遇到相同的问题:我正在尝试提出一个不使用 htmlParse 的解决方案:例如(在导航到页面后): table <- remDr$findElements(using = "tag名称”,值 = “表”))

您可能必须在您的设备上使用 css 或 xpath,下一步我仍在努力。

我终于把一个表格下载到一个漂亮的小数据框中,当你弄清楚它时似乎很容易。使用 XML 包中的帮助页面:

library(RSelenium)
library(XML)
u <- 'http://www.w3schools.com/html/html_tables.asp'
doc <- htmlParse(u)
tableNodes <- getNodeSet(do9c, "//table")
tb <- readHTMLTable(tableNodes[[1]])
于 2015-08-01T22:49:32.527 回答
0

我找到了解决方案。就我而言,我必须先导航到内部框架 (boxBg1),然后才能提取外部 html,然后使用 readHtmlTable 函数。它现在工作正常。将发布以防我将来遇到类似问题

于 2015-08-06T15:01:47.943 回答