gpt4 book ai didi

python - BeautifulSoup4 无法通过搜索文本找到 "a"标签

转载 作者:太空宇宙 更新时间:2023-11-04 04:43:24 24 4
gpt4 key购买 nike

示例 HTML

<a class="accordion-item__link" href="/identity-checking/individual"><!-- react-text: 178 -->Australia<!-- /react-text --></a>

当我运行时

soup.find("a", text="Australia")

它什么都不返回。

如果我跑soup.find("a", href="/identity-checking/individual") 它找到了标签。
soup.find("a", href="/identity-checking/individual").text 也返回 'Australia'

跟评论有关系吗?

最佳答案

我正在尝试找到一种遵循 find 方法的方法,因为它最方便且适应性最强。这里的问题是 HTML 注释弄乱了引擎。手动删除评论会很有帮助。

from bs4 import BeautifulSoup, Comment

bs = BeautifulSoup(
"""
<a class="accordion-item__link" href="/identity-checking/individual"><!-- react-text: 178 -->Australia<!-- /react-text --></a>
""",
"lxml"
)
# find all HTML comments and remove
comments = bs.findAll(text=lambda text:isinstance(text, Comment))
[comment.extract() for comment in comments]

r = bs.find('a', text='Australia')
print(r)
# <a class="accordion-item__link" href="/identity-checking/individual">Australia</a>

删除评论的方法出自这里How can I strip comment tags from HTML using BeautifulSoup?

如果要保留评论,您可以制作一份 soup。

关于python - BeautifulSoup4 无法通过搜索文本找到 "a"标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50133887/

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