1. 程式人生 > >Py之Beautiful Soup 4.2.0:Beautiful Soup 4.2.0的簡介、安裝、使用方法詳細攻略

Py之Beautiful Soup 4.2.0:Beautiful Soup 4.2.0的簡介、安裝、使用方法詳細攻略

Beautiful Soup 4.2.0的簡介

    Beautiful Soup 是一個可以從HTML或XML檔案中提取資料的Python庫.它能夠通過你喜歡的轉換器實現慣用的文件導航,查詢,修改文件的方式.Beautiful Soup會幫你節省數小時甚至數天的工作時間。

Beautiful Soup 4.2.0的安裝

如果你用的是新版的Debain或ubuntu,那麼可以通過系統的軟體包管理來安裝:
$ apt-get install Python-bs4
Beautiful Soup 4 通過PyPi釋出,所以如果你無法使用系統包管理安裝,那麼也可以通過 easy_install 或 pip 來安裝.包的名字是 beautifulsoup4 ,這個包相容Python2和Python3.
$ easy_install beautifulsoup4
$ pip install beautifulsoup4

Beautiful Soup 4.2.0的使用方法

1、將一段文件傳入BeautifulSoup 的構造方法,就能得到一個文件的物件, 可以傳入一段字串或一個檔案控制代碼.
from bs4 import BeautifulSoup
soup = BeautifulSoup(open("index.html"))
soup = BeautifulSoup("<html>data</html>")
首先,文件被轉換成Unicode,並且HTML的例項都被轉換成Unicode編碼
BeautifulSoup("Sacr&eacute; bleu!")
<html><head></head><body>Sacré bleu!</body></html>

然後,Beautiful Soup選擇最合適的解析器來解析這段文件,如果手動指定解析器那麼Beautiful Soup會選擇指定的解析器來解析文件.(參考 解析成XML ).

2、BeautifulSoup包 功能比正則表示式很多,且要簡潔明白一些。
Beautiful Soup將複雜HTML文件轉換成一個複雜的樹形結構,每個節點都是Python物件,所有物件可  以歸納為4種: Tag、NavigableString、BeautifulSoup、Comment  。    
Tag:  即我們在寫網頁時所使用的標籤(如<a>超連結標籤)    
NavigableString:簡單的說就是一種可以遍歷的字串

Beautiful Soup庫對比lxml庫

     這兩個庫主要是解析html/xml文件,BeautifulSoup 用來解析 HTML 比較簡單,API非常人性化,支援CSS選擇器、  Python標準庫中的HTML解析器,也支援 lxml 的 XML解析器。
      Beautiful Sou和Lxml是兩個非常流行的python模組,他們常被用來對抓取到的網頁進行解析,以便進一步抓取的進行。