pip3 install beautifulsoup4
html
improt bs4
html5
解析器 | 使用方法 | 優點 | 劣勢 |
---|---|---|---|
bs4的HTML解析器 | BeautifulSoup(mk,'html.parser') | Python 的內置標準庫 執行速度適中 文檔容錯能力強 |
Python 2.7.3 or 3.2.2)前 的版本中文檔容錯能力差 |
lxml的HTML解析器 | BeautifulSoup(mk,'lxml') | 速度快 文檔容錯能力強 |
須要安裝C語言庫 |
lxml的XML解析器 | BeautifulSoup(mk,'xml') | 速度快 惟一支持XML的解析器 |
須要安裝C語言庫 |
html5lib解析器 | BeautifulSoup(mk,'html5lib') | 最好的容錯性 以瀏覽器的方式解析文檔 生成HTML5格式的文檔 |
速度慢 |
條件 :跨域
bs4的HTML解析器:安裝bs4庫瀏覽器
lxml的HTML解析器:pip3 install lxmlcode
lxml的XML解析器:pip3 install lxmlxml
html5lib解析器:pip3 install html5libhtm
基本元素 | 簡單說明 | 詳細說明 |
---|---|---|
tag | 標籤 | 分別用<>與</>來表示開頭和結尾 |
name | 標籤的名字 | 用法:<tag>.name輸出爲字符串的形式 |
attributes | 標籤裏的屬性 | 用法:<tag>.attrs輸出爲字典的形式 |
navigablestring | 標籤裏的內容 | 用法:<tag>.string能夠跨域多個標籤層次 |
comment | 標籤裏面的註釋 | 一種特殊的comment類型 |
同時存在多個標籤只取第一個
注意:若是是html的父標籤就是他本身,soup自己也是種特殊的標籤的他的父標籤是空對象
注意:必須在同一個父節點下才有平行關係,平行遍歷得到的對象不必定是標籤,也多是文本,若是上下沒來就爲空ip
解析後的頁面文檔
prettify():會把解析的網頁加上\n的文本文檔,能使它打印變得更加好看