Python 3爬蟲網易云(二)--每天進步一點點(BeautifulSoup庫用法上篇)

寫在前面上一篇演示了如何使用requests模塊向網站發送http請求,獲取到網頁的HTML數據。這篇來演示如何使用BeautifulSoup模塊來從HTML文本中提取我們想要的數據。

運行環境我的運行環境如下:系統版本:Windows10。Python版本:Python3.6? IDE:Pycharm

BeautifulSoup ——解析html文檔

首先來看BeautifulSoup的對象種類,在使用的過程中就會了解你獲取到的東西接下來應該如何操作。Beautiful Soup將復雜HTML文檔轉換成一個復雜的樹形結構,每個節點都是Python對象。所有對象可以歸納為4種類型: Tag , NavigableString , BeautifulSoup , Comment 。

下面我們分別看看這四種類型都是什么東西。

1>.Tag

這個就跟HTML或者XML(還能解析XML?是的,能!)中的標簽是一樣一樣的。我們使用find()方法返回的類型就是這個(插一句:使用find-all()返回的是多個該對象的集合,是可以用for循環遍歷的。)。返回標簽之后,還可以對提取標簽中的信息。

提取標簽的名字:

tag.name

提取標簽的屬性:

tag['attribute']

我們用一個例子來了解這個類型:

運行結果如下:

2>.NavigableString

NavigableString就是標簽中的文本內容(不包含標簽)。

獲取方式如下:

tag.string

還是以上面那個例子,加上下面這行,然后執行:

print('NavigableString is:', find.string)結果得到的是

NavigableString is: The Dormouse's story

3>.BeautifulSoup

BeautifulSoup對象表示一個文檔的全部內容。支持遍歷文檔樹和搜索文檔樹

4>.Comment這個對象其實就是HTML和XML中的注釋

結果如下

Hey, buddy. Want to buy a used parser?

<class 'bs4.element.Comment'>

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容