1
例如我有一个<div>
类和一个有空格的类。如何在python中通过beautifulsoup找到具有空格的类和类名称中的文本?
<div class="class name having spaces"> </div>
例如我有一个<div>
类和一个有空格的类。如何在python中通过beautifulsoup找到具有空格的类和类名称中的文本?
<div class="class name having spaces"> </div>
from bs4 import BeautifulSoup
doc ='''<div class='the value'><\div>'''
soup = BeautifulSoup(doc, 'lxml')
print(soup.find_all(attrs={'class':'the value'}))
print(soup.find_all(class_='the value'))
# if the part of value is uniqu, you can use them separately
print(soup.find_all(class_='the'))
print(soup.find_all(class_='value'))
出:
[<div class="the value"></div>]
[<div class="the value"></div>]
[<div class="the value"></div>]
[<div class="the value"></div>]
具有空间意味着条目具有施加到其上,例如两个类my
和class
适用于它。如果您正在寻找包含这两个类,那么所有<div>
条目我建议你使用BeautifulSoup的select()
功能如下:
from bs4 import BeautifulSoup
html ='''
<div class='my class'>test1</div>
<div class='class my'>test2</div>
<div class='my other class'>test3</div>
<div class='my other'>test4</div>
<div class='myclass'>test5</div>'''
soup = BeautifulSoup(html, 'html.parser')
for div in soup.select('div.my.class'):
print(div.text)
这会抓住其中两个类都存在于定义的所有地方(以任何顺序)。给你以下输出:
test1
test2
test3
'soup.find_all(attrs = {'class':'my class'})'' – styvane