gpt4 book ai didi

python - 如何查找仅具有某些属性的标签 - BeautifulSoup

转载 作者:IT老高 更新时间:2023-10-28 21:39:14 26 4
gpt4 key购买 nike

我将如何使用 BeautifulSoup 搜索仅包含我搜索的属性的标签?

例如,我要查找所有 <td valign="top">标签。

以下代码: raw_card_data = soup.fetch('td', {'valign':re.compile('top')})

获取我想要的所有数据,但也获取任何<td>具有属性 valign:top 的标签

我也试过: raw_card_data = soup.findAll(re.compile('<td valign="top">'))这什么也不返回(可能是因为正则表达式错误)

我想知道 BeautifulSoup 中是否有办法说“查找 <td> 唯一属性为 valign:top 的标签”

更新例如,如果 HTML 文档包含以下 <td>标签:

<td valign="top">.....</td><br />
<td width="580" valign="top">.......</td><br />
<td>.....</td><br />

我只想要第一个 <td>标签 ( <td width="580" valign="top"> ) 返回

最佳答案

BeautifulSoup documentation 中所述

你可以用这个:

soup = BeautifulSoup(html)
results = soup.findAll("td", {"valign" : "top"})

编辑:

要返回只有 valign="top"属性的标签,您可以检查标签 attrs 属性的长度:

from BeautifulSoup import BeautifulSoup

html = '<td valign="top">.....</td>\
<td width="580" valign="top">.......</td>\
<td>.....</td>'

soup = BeautifulSoup(html)
results = soup.findAll("td", {"valign" : "top"})

for result in results :
if len(result.attrs) == 1 :
print result

返回:

<td valign="top">.....</td>

关于python - 如何查找仅具有某些属性的标签 - BeautifulSoup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8933863/

26 4 0