用BeautifulSoup实现TD/TR的标引

2024-04-24 21:19:50 发布

您现在位置:Python中文网/ 问答频道 /正文

HTML代码段:

<tr>
   <td class="faux_th">Unfinished Carport</td>
   <td>336</td>
   <td>0</td>
   <td>67</td>
</tr>
<tr class="alt">
   <td class="faux_th">Finished Encl Porch</td>
   <td>96</td>
   <td>0</td>
   <td>58</td>
</tr>
<tr>
   <td class="faux_th">Finished Open Porch</td>
   <td>60</td>
   <td>0</td>
   <td>18</td>
</tr>
<tr class="alt">
   <td class="faux_th">Base Area</td>
   <td>996</td>
   <td>996</td>
   <td>996</td>
</tr>
<tr>
   <td class="faux_th">Total</td>
   <td>1488</td> ##this is the value I need each time
   <td>996</td>
   <td>1139</td>
</tr>

带有BS4的Python:

^{pr2}$

这对于我尝试的例子来说非常有效。当我使用上面包含5个TR标记的代码片段时,显然它会中断。我要做的是从标记为“总计”的TR中提取第二个TD。我试过各种各样的方法,但是我无法找到处理这个问题的方法。有没有办法从反向索引它?如果是这样,“总计”TR的位置总是最后一个。我的最后一个选择是使用regex来匹配HTML,但是即使从那里我也不确定如何获得我需要的结果。任何关于如何解决这一问题的建议都会很好。在


Tags: 方法标记html代码段alttrclasstd