我正在使用python中的beautifulSoup阅读网页。 许多元素都是跨度,但是它们的class属性具有不同的值。 e.g。
Value1 = property.findChild("span", {"class" : "search-result-Val1"}).text
Value2 = property.findChild("span", {"class" : "search-result-Val2"}).text
问题是,如果用户在保存项目时没有为Val1或Val2输入值,则他们不会出现在搜索结果页面上,因此我需要检查是否存在span标记,属性" class"在我尝试提取其值之前,使用该属性的特定值。
我怎么能这样做? GetAttr()方法没有帮助,因为它只是告诉我属性是否存在,但我无法检查该属性的值,这是这种情况下的区别因素。
答案 0 :(得分:0)
对于此特定实例,您正在寻找class属性。
在这种情况下,您可以执行property.findChild("span")["class"]
,然后检查它是否包含您想要的某个类。
答案 1 :(得分:0)
使用list过滤器:
如果你传入一个列表,Beautiful Soup将允许字符串匹配该列表中的任何项。
property.findChild("span", class_=["search-result-Val1","search-result-Val2"] )