先看一段BeautifulSoup的官方介紹:
Beautiful Soup 是一個可以從HTML或XML檔案中提取資料的Python庫.它能夠通過你喜歡的轉換器實作慣用的文檔導航,查找,修改文檔的方式.Beautiful Soup會幫你節省數小時甚至數天的工作時間。
使用BeautifulSoup解析這段代碼,能夠得到一個 BeautifulSoup 的對象,
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'lxml')
這個soup就是BeautifulSoup對象。
四種解析器
Python标準庫 :
BeautifulSoup(markup, "html.parser")
lxmlHTML解析器 :
BeautifulSoup(markup, "lxml")
lxmlXML解析器 :
BeautifulSoup(markup, ["lxml-xml"])/BeautifulSoup(markup, "xml")
html5lib :
BeautifulSoup(markup, "html5lib")
推薦使用lxml作為解析器,因為效率更高.
對象的種類
Beautiful Soup将複雜HTML文檔轉換成一個複雜的樹形結構,每個節點都是Python對象,
所有對象可以歸納為4種: Tag , NavigableString , BeautifulSoup , Comment .