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