当前位置: 首页 > 面试题库 >

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

锺离赤岩
2023-03-14
问题内容

如何使用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>标记,则为 *UPDATE

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

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


问题答案:

如BeautifulSoup文档中所述

您可以使用:

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

编辑:

要返回仅具有valign =“ top”属性的标签,可以检查tagattrs属性的长度:

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>


 类似资料:
  • 我有一个包含元素列表的实体,现在我想搜索这些元素的属性。这个约束应该是“与”连接的。请看这些简单的例子: 现在我想找到某个城市的家长,比如说“BigCity”,孩子们在学校“AwesomeSchool”,他们在六年级一班。我只想通过CriteriaBuilder获得搜索结果。 到目前为止,我得到了: 不幸的是,这里有两个问题:-看起来我无法在列表属性上调用-这将返回所有孩子在“AwesomeSch

  • 我想得到一个列表的所有标签与属性(但不是或任何其他)使用Python从以下XML: 我尝试过使用,但结果也包括标记。到目前为止,我尝试的所有其他变体都失败了。 我正在使用的实际Python代码: 输出: 更新: 我发现这是一个命名空间问题,这使得这个问题重复。问题是我有一个根节点看起来像这样:

  • 问题内容: 我正在尝试获取HTML文档中包含以下文本模式的元素:#\ S {11} 因此,前者将通过使用以下内容进行匹配: 结果将是这样的: 我可以获取所有匹配的文本(请参见上面的行)。但是我希望文本的父元素匹配,因此我可以将其用作遍历文档树的起点。在这种情况下,我希望所有h2元素都返回,而不是文本匹配。 有想法吗? 问题答案: 印刷品:

  • 问题内容: 我是AngularJS的新手。我了解到可以使用以下查询在DOM中找到元素: 这对于按ID或CSS类名查找元素很有用。但是,我需要能够使用其他方法来查找元素。我有一个看起来像下面的元素: 我无法查询“ myContainer”,因为它已被重用了多少。因此,我想找到任何具有“ my- directive”属性的元素。如何搜索DOM并找到任何使用“我的指令”的元素? 问题答案: 您应该在指令

  • 我正在建立一个图书馆数据库。我想编写一个查询,返回每个类别的前5本书,这意味着它必须返回每个类别借阅次数最多的5本书以及借阅次数。 查询涉及以下表: Book(ISBN, title, pubYork, numpage, pubName) borrows(memberID, ISBN, Copnr,date_of_borrowing,date_of_return) belongs_to(ISBN,

  • 问题内容: 我收到此错误,因为其中一位用户在他的帖子中添加了 错误:[$ sanitize:badparse]清理程序无法解析以下html块:<3 我写的代码 我想他要采取仅标签和标签 那可能吗? 谢谢! 问题答案: 您可以创建过滤器,以清理HTML。 我在其中使用了strip_tags函数 http://phpjs.org/functions/strip_tags/ 控制器: 视图: http: