1. 程式人生 > >beautiful soup庫—總結

beautiful soup庫—總結

註釋 div attrs 開頭 組織 解析 總結 brush 訪問

from bs4 import BeautifulSoup

Beautiful Soup庫:是解析、遍歷、維 護 "標簽樹〃的功能庫

Beautiful Soup類:

Beautiful Soup類的基本元素:
Tag 標簽                     最基本的信息組織單元,分別用 <> 和</>標明開頭和結尾
Name                        標簽的名字, <p>...</p> 的名字是 ’P‘, 格 式 : <tag>.name
Attributes                  標簽的屬性,字典形式組織,格 式 : <tag>.attrs
NavigableString             標簽內非屬性字符串, <>...</> 中字符串,格 式 : <tag>.string
Comment                     標簽內字符串的註釋部分,一種特殊的 Comment 類型

- 任何存在於HTML語法中的標簽者P可以用soup.<tag>訪問獲得,當HTML文檔中存在多個相同<tag>對應內容時,soup.<tag>返回第1個
- 每個<tag> 都有自己的名字 ,通過 <tag>.name 獲取,字符串類型
from bs4 import BeautifulSoup
soup = BeautifulSoup (demo, "html. parser")
soup. title
tag = soup.a
soup.a.name
tag.attrs
soup. a . string


Beautiful Soup對象對應一個HTML/XML文檔的全部內容

標簽樹:
標簽樹的下行遍歷:
soup.tag.contents             遍歷tag的子節點並存入列表
soup.tag.children             子節點的叠代類型,循環遍歷tag的子節點並存入列表
soup.tag.descendants          循環遍歷tag的子孫節點並存入列表

標簽樹的上行遍歷:
soup.tag.parent                訪問tag節點的父節點標簽
soup.tag.parents               節點先輩標簽的叠代類型,循環遍歷tag的先輩節點

標簽樹的平行遍歷:  (發生在同一個父節點下的各節點間,並不是同一層各個節點)
soup.tag.next_sibling                   返回按照 HTML 文本順序的下一個平行節點標簽
soup.tag.previous_sibling               返回按照 HTML 文本順序的上一個平行節點標簽
soup.tag.next_siblings                  叠代類型,返回按照 HTML 文本順序的後續所有平行節點標簽
soup.tag.previous_siblings              叠代類型,返回按照 HTML 文本順序的前續所有平行節點標簽


bs4庫的prettify()方法:
.prettify() 為 HTML 文本 <> 及其內容增加更加 ’\n ‘
 <tag>. prettify()


        

  

beautiful soup庫—總結