readHTMLTable function not able to extract the html table

时间:2015-07-31 19:42:48

标签: r analytics rselenium

I would like to extract the table (table 4) from the URL "http://www.moneycontrol.com/financials/oilnaturalgascorporation/profit-loss/IP02". The catch is that I will have to use RSelenium

Now here is the code I am using:

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

The above code is not able to extract the table 4. However when I do not use Rselenium like below, I am able to extract the table easily

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

Please let me the solution as I have been stuck on this part for a month now. Appreciate your suggestions

3 个答案:

答案 0 :(得分:1)

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

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

希望有所帮助!

答案 1 :(得分:0)

我正在努力解决同样的问题:我试图提出一个不使用htmlParse的解决方案:例如(导航到页面后): table&lt; - remDr $ findElements(使用=&#34;标记名称&#34;,值=&#34;表&#34;)

你可能不得不在你的身上使用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]])

答案 2 :(得分:0)

我找到了解决方案。在我的情况下,我必须首先导航到内框(boxBg1),然后才能提取外部html,然后使用readHtmlTable函数。它现在工作正常。如果我将来遇到类似的问题,将发布