gpt4 book ai didi

python - 如何在 beautifulsoup 中查找
text
的文本?

转载 作者:太空宇宙 更新时间:2023-11-04 10:07:27 25 4
gpt4 key购买 nike

这是 HTML:

<div><div id="NhsjLK">
<li class="EditableListItem NavListItem FollowersNavItem NavItem not_removable">
<a href="/profile/Dileep-Sankhla/followers">Followers <span class="list_count">92</span></a></li></div></div>

我想提取文本 92 并将其转换为整数并在 python2 中打印。我怎么能够?代码:

i = soup.find('div', id='NhsjLK')
print "Followers :", i.find('span', id='list_count').text

最佳答案

我不会直接通过类获取它,因为我认为“list_count”的类值过于宽泛,可能会用于页面上的其他内容。

仅从这个 HTML 片段来看肯定有几个不同的选项,但从我的角度来看,最好的选项之一是使用“关注者”文本/标签并获取它的下一个兄弟:

from bs4 import BeautifulSoup

data = """
<div><div id="NhsjLK">
<li class="EditableListItem NavListItem FollowersNavItem NavItem not_removable">
<a href="/profile/Dileep-Sankhla/followers">Followers <span class="list_count">92</span></a></li></div></div>"""

soup = BeautifulSoup(data, "html.parser")
count = soup.find(text=lambda text: text and text.startswith('Followers')).next_sibling.get_text()
count = int(count)
print(count)

或者,另一种非常简洁可靠的方法是在 *= 上使用部分匹配(下面的 href 部分) parent 的值(value)a元素:

count = int(soup.select_one("a[href*=followers] .list_count").get_text())

或者,您可以检查父级的类值 li元素:

count = int(soup.select_one("li.FollowersNavItem .list_count").get_text())

关于python - 如何在 beautifulsoup 中查找 <div><span>text</span></div> 的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40276184/

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