Помогите, пожалуйста, разобраться.
Нужно спарсить таблицу такой структуры.
<tbody> <tr bgcolor="#D7EFBE"> <td align="right" height="18"> 22 Aug </td> <td align="right"> Val </td> <td width="45" align="center"> <a href="#" class="tooltip2"> <font color="#0000AA"><b>2</b></font> <span> <div style="text-align:center;"> <table width="100%"><tbody><tr class="trow3"><td> <font size="2"><b>Val</b></font> </td><td align="center"> <font size="4" color="blue"><b>2</b></font> </td></tr> <tr class="trow3"><td> <font size="2"><b>Las</b></font> </td><td align="center"> <font size="4" color="blue"><b>4</b></font> </td></tr></tbody></table> </div> <div style="text-align:left;"> <br> <font color="blue"> 1-0 <font color="blue">(6)</font> </font> <br> <font color="green"> 1-1 <font color="green">(16)</font> </font> <br> <font color="green"> 1-2 <font color="green">(25)</font> pen. </font> <br> <font color="green"> 1-3 <font color="green">(31)</font> </font> <br> <font color="blue"> 2-3 <font color="blue">(34)</font> </font> <font color="green"> 4 <font color="green">(88)</font> </font> </div> </span> </a> </td> <td align="left"> <b> Las </b> </td> <td align="center"> + </td> <td align="center"> - </td> <td align="center"> - </td> <td align="center"> 3 </td> </tr> </tbody>
Мне нужно получить теги <td> первого уровня. То есть те, которые принадлежат <tr bgcolor=“#D7EFBE”>.
Использую такой код. В переменной ta лежит тег <tr bgcolor=“#D7EFBE”> и все его содержимое.
Первый <td> получаю так:
ta.td
ta.td.next_sibling
Собственно в чем вопрос. Когда я дохожу до 3 <td> я не могу его уже получить так:
ta.td.next_sibling.next_sibling
Как я понял из документации, функция next_sibling перемещается по одноуровневым тегам. Почему она лезет к дочерним элементам? И как мне получить текст из всех дочерних элементов <tr bgcolor=“#D7EFBE”> > <td> не затрагивая вложенные <tr> и <td> в теги <span>.