我想做以下代码,这是BS文档要做的,唯一的问题是“类”这个词不只是一个单词。它可以在HTML中找到,但它也是一个python关键字,导致此代码抛出错误。
那我该如何做呢?
soup.findAll('ul', class="score")
答案 0 :(得分:17)
您的问题似乎是您希望汤中的find_all
找到与您的字符串完全匹配的内容。 In fact:
当您搜索与某个CSS类匹配的标记时,您就是 匹配任何CSS类:
您可以正确搜索类标签,如@alKid所说。您还可以使用class_
关键字arg。
soup.find_all('ul', class_="score")
答案 1 :(得分:10)
以下是如何操作:
soup.find_all('ul', {'class':"score"})
答案 2 :(得分:0)
如果OP有兴趣通过finalScore
来获得ul
,则可以用几行gazpacho解决此问题:
from gazpacho import Soup
html = """\
<div>
<ul class="score header" id="400488971-linescoreHeader" style="display: block">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li id="400488971-lshot"> </li>
<li class="finalScore">T</li>
</ul>
<div>
"""
soup = Soup(html)
soup.find("ul", {"class": "score"}).find("li", {"class": "finalScore"}).text
哪个会输出:
'T'