【问题标题】:Check specific class in Beatiful Soup检查 Beautifulsoup 中的特定课程
【发布时间】:2022-01-04 11:50:17
【问题描述】:

我正在使用 find_all() 获取特定标签 (td) 的所有准确度,但我想处理不同的类。 我的标签看起来像这样:

<td class="classname" colspan="2">
Something ...
</td>

我想根据类名做不同的事情。

我尝试使用 has_attr() 但它似乎只检查是否存在单个属性并且不适用于整个表达式。

    for tag in soup.find_all("td"):
        if tag.has_attr("td", {"class": "search-detail-heading"}):
            Do Something()
        if tag.has_attr("td", {"class": "search-detail-subject"}):
            Do Something else()

还有其他方法可以检查这个类名吗?我需要调整 find_all() 吗?我有点不想将 find_all() 用于一个类类型,然后再用于下一个类类型。

【问题讨论】:

    标签: python html web-scraping beautifulsoup


    【解决方案1】:

    您可以使用以下代码将td标签属性信息作为列表返回:

    for tag in soup.find_all("td"):
        print(list(tag.find("div").attrs.keys()))
    

    【讨论】:

    • 这很好。但它不是 tag.find()。只有 tag.attrs.values() 因为我已经找到了带有 find_all() 的标签。我也需要值而不是键哈哈。谢谢,这很有帮助。 for tag in soup.find_all("td"): print(list(tag.attrs.values()))
    • 哦,我的错。我只是复制并粘贴我的代码,而无需再次查看它。如果有帮助,我很高兴。
    猜你喜欢
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多