BeautifulSoup庫(解析html和css文檔)入門

使用:
from bs4 import BeautifulSoup #bs4代表BeautifulSoup庫,BeautifulSoup是一個類
soup = BeautifulSoup(‘<p>data</p>’,"html.parser") #參數1:需要解析的html格式的信息,可以用變量。參數2:需要的解析器

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

標籤樹的下行遍歷
.contents 子節點的列表,將<tag>所有兒子節點存入列表
.children 子節點的迭代類型,與.contents類似,用於循環遍歷兒子節點
.descendants 子孫節點的迭代類型,包含所有子孫節點,用於循環遍歷

標籤樹的上行遍歷
.parent 節點的父親標籤
.parents 節點先輩標籤的迭代類型,用於遍歷先輩節點

標籤樹的平行遍歷(發生在同一個父節點下的各節點間)
.next_sibling 返回按照HTML文本版順序的下一個平行節點標籤
.previous_sibling 返回按照HTML文本順序的上一個平行節點標籤
.next_siblings 迭代類型,返回按照HTML文本順序的後續所有平行節點標籤
.previous_siblings 迭代類型,返回按照HTML文本順序的前續所有平行節點標籤

用bs4庫讓<html>頁面更“友好”的顯示
prettify方法:
import requests
r = requests.get("http://www.lofter.com")
demo = r.text
from bs4 import BeautifulSoup
soup = BeautifulSoup(demo,"html.parser")
print (soup.prettify())#每一個標籤和相關內容自動分行顯示

bs4庫將任何讀入的html文件或字符串轉換成utf-8編碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章