gpt4 book ai didi

python - 在 BeautifulSoup 中打印最后一个

转载 作者:行者123 更新时间:2023-11-28 22:50:23 25 4
gpt4 key购买 nike

我必须从一个复杂的 HTML 文档中读取,其中一个表没有 ID,并且每个表都有未定义数量的 tr 标签。我想在最后一个 <tr> 的 td 中打印文本标签。在解析树时,我找不到任何打印最后一个 child 的东西。

我要打印 4,4.1,4.2

<table border=0 bgcolor=#000000 cellspacing=1 width="100%"
<tr bgcolor="#FFFFFF">
<td>1</td>
<td>1.1</td>
<td>1.2</td>
</tr>
<tr bgcolor="#FFFFFF">
<td>2</td>
<td>2.1</td>
<td>2.2</td>
</tr>
<tr bgcolor="#FFFFFF">
<td>3</td>
<td>3.1</td>
<td>3.2</td>
</tr>
<tr bgcolor="#FFFFFF">
<td>4</td>
<td>4.1</td>
<td>4.2</td>
</tr>

这是我目前所拥有的:

from bs4 import BeautifulSoup
import urllib
sock = urllib.urlopen("someurl")

htmlread = sock.read()
soup = BeautifulSoup(htmlread)


tabledata = soup.find("table", {"border":"0", "bgcolor":"#000000", "cellspacing":"1", "width":"100%"})
other = tabledata.findAll("tr", {"bgcolor":"#FFFFFF"})

print other

最佳答案

听起来您正在尝试找到最后一个 tr元素并打印所有 td其中的文本值。首先,找到最后一个tr , 您可以选择所有 tr元素,然后使用 -1找到最后一个:

>>> last_tr = soup('tr')[-1]

然后,找到所有<td>里面的标签 <tr>元素:

>>> [td.text for td in last_tr('td')]
[u'4', u'4.1', u'4.2']

关于python - 在 BeautifulSoup 中打印最后一个 <td>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22702857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com