2016-11-15 98 views

回答

3
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>] 
2

具有空间意味着条目具有施加到其上,例如两个类myclass适用于它。如果您正在寻找包含这两个类,那么所有<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 
相关问题