如何使用Rselenium读取html表?

时间:2015-04-29 00:57:16

标签: r selenium web-scraping rselenium

我正在使用Rselenium导航到网页。以下代码正在这样做。我没有提供网址,因为我在需要vpn连接的公司中使用网址:

RSelenium::startServer()
require(RSelenium)
remDr <- remoteDriver()
remDr$navigate("some url")

导航到网页后,在html源代码中,我有下表:

<font size="2">
<table border="1">
<tbody>
<tr>
<td> item1 </td>
<td> 0 </td>
<td> 0.05 </td>
<td> 2.43 </td>
<td align="center"> Pct </td>
<td align="center"> 1 </td>
</tr>
</tbody>
</table>

现在的问题是如何提取此表的内容?请假设url不存在,否则我可以使用XML函数:readHTMLTable(remDr $ getCurrentUrl())。但由于某些原因,这不起作用。我只需要使用remoteDriver句柄(remDr)。 非常感谢你的时间

2 个答案:

答案 0 :(得分:16)

类似的东西:

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

应该允许您访问html并处理包含的表。

答案 1 :(得分:2)

我更喜欢使用rvest,所以我做的是:

# Importing libraries
library(RSelenium)
library(rvest)

# Extracting table
remDr$getPageSource()[[1]] %>% 
  read_html() %>%
  html_table()