当前位置:  开发笔记 > 编程语言 > 正文

理解Beautiful Soup中的Find()函数

如何解决《理解BeautifulSoup中的Find()函数》经验,为你挑选了1个好方法。

我知道我想做的事情很简单,但却让我感到悲痛.我想使用BeautifulSoup从HTML中提取数据.为此,我需要正确使用该.find()功能.这是我正在使用的HTML:

Ed Boon

@noobde
73,599 Real
32,452 Fake
Followers
69%
Audit score

我想要的价值73599来自data-value=73599,32352来自data-value=3245269%来自percentage good.

使用过去的代码和在线示例,这是我到目前为止:

RealValue = soup.find("div", {"class":"real number"})['data-value']
FakeValue = soup.find("audit", {"class":"fake number"})['data-value']

到目前为止两者都没有效果.我不确定如何制作这个发现以便提取69%数字.



1> alecxe..:

soup.find("div", {"class":"real number"})['data-value']

在这里,您要搜索一个div元素,但span在示例HTML数据中包含"实数"类,请尝试:

soup.find("span", {"class": "real number", "data-value": True})['data-value']

在这里,我们还检查data-value属性的存在.


要查找具有"实数"或"假数"类的元素,您可以创建一个CSS选择器:

for elm in soup.select(".real.number,.fake.number"):
    print(elm.get("data-value"))

要获得69%价值:

soup.find("div", {"class": "percentage good"}).get_text(strip=True)

或者,CSS选择器:

soup.select_one(".percentage.good").get_text(strip=True)
soup.select_one(".score .percentage").get_text(strip=True)

或者,找到h6具有Audit score文本的元素,然后获取前面的兄弟:

soup.find("h6", text="Audit score").previous_sibling.get_text(strip=True)

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有