[英]soup.findAll() return null for div class attribute Beautifulsoup
[英]Python BeautifulSoup findAll by "class" attribute
我想做下面的代码,这是 BS 文档所说的,唯一的问题是“类”这个词不仅仅是一个词。 它可以在 HTML 中找到,但它也是一个导致此代码抛出错误的 python 关键字。
那么我该怎么做呢?
soup.findAll('ul', class="score")
您的问题似乎是您希望find_all
中的find_all
找到与您的字符串完全匹配的内容。 事实上:
当您搜索与某个 CSS 类匹配的标签时,您将匹配其任何 CSS 类:
您可以像@alKid 所说的那样正确搜索类标签。 您还可以使用class_
关键字 arg 进行搜索。
soup.find_all('ul', class_="score")
这是如何做到的:
soup.find_all('ul', {'class':"score"})
如果 OP 对通过ul
获得finalScore
感兴趣,您可以使用几行finalScore
汤来解决这个问题:
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'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.