如何使用R导航到HTML中的特定标签?

时间:2017-08-01 17:23:47

标签: html r

我想使用R从每个表中提取第一个<tr>标签。我一直试图使用像firstchild这样的命令找到正确的选择器,但我似乎遇到了嵌套标签的问题桌子。我非常感谢你的帮助!

<center>
  <table>
    <tbody>
      <tr>
         <td bgcolor>...</td>
         <td bgcolor>...</td>
          </tr>
      <tr>
         <td bgcolor>...</td>
         <td bgcolor>...</td>
          </tr>
    </tbody>
  </table>
</center>
<p></p>
<center>
  <table>
    <tbody>
      <tr>
         <td bgcolor>...</td>
         <td bgcolor>...</td>
          </tr>
      <tr>
         <td bgcolor>...</td>
         <td bgcolor>...</td>
          </tr>
    </tbody>
  </table>
</center>
<p></p>

2 个答案:

答案 0 :(得分:1)

您忘记在行中使用td 你的代码应该是这样的:

<center>
  <table>
    <tbody>
      <tr><td>...</td></tr>
      <tr><td>...</td></tr>
      <tr><td>...</td></tr>
    </tbody>
  </table>
</center>
<p></p>
<center>
  <table>
    <tbody>
      <tr><td>...</td></tr>
      <tr><td>...</td></tr>
      <tr><td>...</td></tr>
    </tbody>
  </table>
</center>
<p></p>

现在您可以像这样对他们应用CSS规则:

table tbody tr:first-child {
  color: red;
}

答案 1 :(得分:0)

使用rvest

library(rvest)

html <- read_html(file)

trs <- html %>% html_nodes('table') %>% html_node('tr')

trsxml_nodeset s的向量,其中包含您寻找的<tr>个。你可以打印一个这样的:

toString(trs[1])

## "<tr>...</tr>\n"

或者您可以像<tr>这样提取文本:

trs[1] %>% html_text()

## "..."