Beautiful Soup是一個(gè)Python 庫(kù), 用于從HTML 和XML 中提取數(shù)據(jù)。 它常被用于web scraping 。 Beautiful Soup將復(fù)雜HTML 解析成樹(shù)形結(jié)構(gòu), 每個(gè)節(jié)點(diǎn)都是Python對(duì)象,方便獲取和處理信息。
在Beautiful Soup中, <div> 標(biāo)簽是常用的標(biāo)簽之一。它表示HTML中的一個(gè)塊級(jí)元素,用于分組HTML 內(nèi)容。在網(wǎng)頁(yè)結(jié)構(gòu)中, 一個(gè) <div> 可以包含文本、圖片、鏈接、表單等多種元素,是網(wǎng)頁(yè)布局的重要組成部分。
代碼案例1: 解析包含特定class的 <div> 標(biāo)簽
假設(shè)我們要從以下HTML中解析出特定class為"intro"的 <div> 標(biāo)簽:
<soup = BeautifulSoup(html, 'html.parser') <divs = soup.find_all('div', {'class': 'intro'}) for div in divs: print(div.text)
代碼解析:
,我們導(dǎo)入了Beautiful Soup庫(kù),并將HTML文檔解析成了Beautiful Soup對(duì)象。 然后,我們使用find_all方法查找所有符合條件的 <div> 標(biāo)簽,傳入的參數(shù)為'div' 和 {'class': 'intro'},表示查找標(biāo)簽名為'div'且class屬性為'intro'的標(biāo)簽。 最后,我們使用循環(huán)遍歷找到的所有 <div> 標(biāo)簽,并打印出其文本內(nèi)容。
代碼案例2: 解析嵌套的 <div> 標(biāo)簽
以下是一個(gè)嵌套的 <div> 標(biāo)簽的示例:
<div> <div class="outer"> <div class="inner"> This is inner div. </div> </div> </div>
我們可以使用以下代碼找到嵌套在 <div> 標(biāo)簽中的文本:
soup = BeautifulSoup(html, 'html.parser') outer_div = soup.find('div', {'class': 'outer'}) inner_div = outer_div.find('div', {'class': 'inner'}) print(inner_div.text) <br> # Output: This is inner div.
代碼解析:
,我們導(dǎo)入了Beautiful Soup庫(kù),并將HTML文檔解析成了Beautiful Soup對(duì)象。 然后,我們使用find方法查找class屬性為'outer'的 <div> 標(biāo)簽,并將其賦值給變量outer_div。 接下來(lái),我們使用find方法在outer_div中查找class屬性為'inner'的 <div> 標(biāo)簽,并將其賦值給變量inner_div。 最后,我們打印出inner_div的文本內(nèi)容。
代碼案例3: 解析多個(gè) <div> 標(biāo)簽
以下是一個(gè)包含多個(gè) <div> 標(biāo)簽的示例:
<div id="1"> This is div 1. </div> <div id="2"> This is div 2. </div> <div id="3"> This is div 3. </div>
我們可以使用以下代碼找到所有的 <div> 標(biāo)簽,并打印出其文本內(nèi)容:
soup = BeautifulSoup(html, 'html.parser') divs = soup.find_all('div') for div in divs: print(div.text)
代碼解析:
,我們導(dǎo)入了Beautiful Soup庫(kù),并將HTML文檔解析成了Beautiful Soup對(duì)象。 然后,我們使用find_all方法查找所有的 <div> 標(biāo)簽,并將其賦值給變量divs。 接下來(lái),我們使用循環(huán)遍歷找到的所有 <div> 標(biāo)簽,并打印出其文本內(nèi)容。
通過(guò)以上幾個(gè)代碼案例,我們可以看到Beautiful Soup提供了強(qiáng)大的功能來(lái)解析和處理HTML中的 <div> 標(biāo)簽,方便我們從網(wǎng)頁(yè)中提取所需的信息。