首页 > 解决方案 > 如何使用 JQuery 或 Cheerio 获取每个表头之间的所有兄弟姐妹

问题描述

我需要在带有多个表头的表的 HTML 页面上进行网络抓取

例如:

<table class="tabledata">
  <th colspan="32"> TH1 </th>
  <tr>
    <td>TD11</td>
    <td>TD12</td>
    <td>TD13</td>
    ... ...
    <td>TD1N</td>
  </tr>
  <tr>
    <td>TD21</td>
    <td>TD22</td>
    <td>TD23</td>
    ... ...
    <td>TD2N</td>
  </tr>
  ... ...
  <th colspan="32"> TH2 </th>
  <tr>
    <td>TDfsf1</td>
    <td>TDasf2</td>
    <td>TDads33</td>
    ... ...
    <td>TDcvvN</td>
  </tr>
  <tr>
    <td>TDafadf1</td>
    <td>TDujjj2</td>
    <td>TDnbnbn3</td>
    ... ...
    <td>TDppppaN</td>
  </tr>
  ... ...
  <th colspan="32"> TH3 </th>
  <tr>
    <td>TDfsf1</td>
    <td>TDasf2</td>
    <td>TDads33</td>
    ... ...
    <td>TDcvvN</td>
  </tr>
  <tr>
    <td>TDafadf1</td>
    <td>TDujjj2</td>
    <td>TDnbnbn3</td>
    ... ...
    <td>TDppppaN</td>
  </tr>
  ... ...
  <th colspan="32"> TH12 </th>
  ... ...
</table>

此表有多个元素。元素之间,有兄弟元素。我想获取每个元素下的所有兄弟元素。

编辑: HTML 就是这样。表中有多个可能是错误的。但这是我无法控制的。一个下面有多个 s,然后另一个在下面,然后是另一组 s。

标签: javascriptjquerydomcheerio

解决方案


您的 HTML 标记错误,请确保您编写的 HTML 有效。

您可以使用 jQuery 查找元素,例如:

$('.tabledata').find('td');

推荐阅读