④ find語法說明¶
常用函式:
- find( ) ==> 回傳符合條件的第一筆資料。
- find_all( ) ==> 回傳符合條件的所有資料。
載入套件¶
In [ ]:
Copied!
from bs4 import BeautifulSoup
from bs4 import BeautifulSoup
範例 ⓵¶
In [ ]:
Copied!
s1 = """
<body>
<h1>哈囉!HTML!</h1>
<div class="class1">
<p>這是第一個p標籤內容!</p>
<p>這是第二個p標籤內容!</p>
</div>
<div class="class2">
<p>這是第三個p標籤內容!</p>
<p>這是第四個p標籤內容!</p>
</div>
</body>
"""
s1 = """
"""
哈囉!HTML!
這是第一個p標籤內容!
這是第二個p標籤內容!
這是第三個p標籤內容!
這是第四個p標籤內容!
In [ ]:
Copied!
soup1 = BeautifulSoup(s1)
soup1 = BeautifulSoup(s1)
In [ ]:
Copied!
soup1.find('p')
soup1.find('p')
In [ ]:
Copied!
soup1.find_all('p')
soup1.find_all('p')
In [ ]:
Copied!
soup1.find('div',{'class':"class1"}).find_all('p')
soup1.find('div',{'class':"class1"}).find_all('p')
範例 ⓶¶
In [ ]:
Copied!
s2 = """
<body>
<h1>哈囉!HTML!</h1>
<div class="class1">
<p>這是第一個p標籤內容!</p>
<div>
<p>這是第二個p標籤內容!</p>
</div>
</div>
<div class="class2">
<p>這是第三個p標籤內容!</p>
<p>這是第四個p標籤內容!</p>
</div>
</body>
"""
s2 = """
"""
哈囉!HTML!
這是第一個p標籤內容!
這是第二個p標籤內容!
這是第三個p標籤內容!
這是第四個p標籤內容!
In [ ]:
Copied!
soup2 = BeautifulSoup(s2)
soup2 = BeautifulSoup(s2)
In [ ]:
Copied!
soup2.find('div',{'class':"class1"}).find_all('p')
soup2.find('div',{'class':"class1"}).find_all('p')
In [ ]:
Copied!
soup2.find('div',{'class':"class1"}).find_all('p', recursive=False)
soup2.find('div',{'class':"class1"}).find_all('p', recursive=False)
In [ ]:
Copied!
soup2.find('div',{'class':"class1"}).find('div').find_all('p')
soup2.find('div',{'class':"class1"}).find('div').find_all('p')
範例 ⓷¶
In [ ]:
Copied!
s3 = """
<body>
<h1>哈囉!HTML!</h1>
<div class="class1">
<p>這是第一個p標籤內容!</p>
<div>
<p data-no="two">這是第二個p標籤內容!</p>
</div>
</div>
<p class="class1">這是第三個p標籤內容!</p>
<p id="p4">這是第四個p標籤內容!</p>
</body>
"""
s3 = """
哈囉!HTML!
這是第一個p標籤內容!
這是第二個p標籤內容!
這是第三個p標籤內容!
這是第四個p標籤內容!
"""In [ ]:
Copied!
soup3 = BeautifulSoup(s3)
soup3 = BeautifulSoup(s3)
In [ ]:
Copied!
soup3.find_all(attrs={"class":"class1"})
soup3.find_all(attrs={"class":"class1"})
In [ ]:
Copied!
soup3.find_all(attrs={"id":"p4"})
soup3.find_all(attrs={"id":"p4"})
In [ ]:
Copied!
soup3.find_all('p', attrs={"data-no":"two"})
soup3.select('p[data-no="two"]')
soup3.find_all('p', attrs={"data-no":"two"})
soup3.select('p[data-no="two"]')
📖 參考資料¶
CSS Selector 的使用請參考:
BeautifulSoup 的其他使用方式,請參考: