【问题标题】:How to read an html table using Rselenium?如何使用 Rselenium 读取 html 表格?
【发布时间】:2015-07-08 01:52:52
【问题描述】:

我正在使用 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)。 非常感谢您的宝贵时间

【问题讨论】:

    标签: r selenium web-scraping rselenium


    【解决方案1】:

    类似:

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

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

    【讨论】:

    • 非常感谢@jdharrison 的回复。因为我的桌子很大,所以要花太多时间。是否可以仅读取某些单元格,例如如何读取上面 html 代码中的数字 2.43?再次感谢
    【解决方案2】:

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

    # Importing libraries
    library(RSelenium)
    library(rvest)
    
    # Extracting table
    remDr$getPageSource()[[1]] %>% 
      read_html() %>%
      html_table()
    

    【讨论】:

      猜你喜欢
      • 2022-11-20
      • 1970-01-01
      • 1970-01-01
      • 2012-12-16
      • 1970-01-01
      • 2020-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多