1. 程式人生 > >基於bs4庫的HTML內容查找方法和HTML格式化和編碼

基於bs4庫的HTML內容查找方法和HTML格式化和編碼

檢索 mage rec ive string ngs info TP 正則表達式

  • bs4庫的prettify()方法:
技術分享圖片技術分享圖片
  • 將某一個標簽打印:
技術分享圖片技術分享圖片
  • 對於中文的HTML代碼,也可以直接打印:
技術分享圖片技術分享圖片

基於bs4庫的HTML內容查找方法

  • <>.find_all(name,attrs,recursive,string,**kwargs):返回一個列表類型,存儲查找的結果
  • name:對標簽名稱的檢索字符串。
技術分享圖片技術分享圖片 其中的(import re)是導入正則表達式庫。
  • attrs:對標簽屬性值的檢索字符串,可標註屬性檢索。
技術分享圖片技術分享圖片
  • recursive:是否對子孫全部檢索,默認為Ture。
技術分享圖片技術分享圖片
  • string:<>...</>中字符串區域的檢索字符串。
技術分享圖片技術分享圖片
  • find_all函數的簡寫形式:
  1. <tag>(..)等價於<tag>.find_all(..)
  2. soup(..)等價於soup.find_all(..)
  • find_all函數的擴展方法:
    1. <>.find():搜索且只返回一個結果,字符串類型,同.find_all()參數
    2. <>.find.parents():在先輩節點中搜索,返回列表類型,同.find_all參數
    3. <>.find.parent():在先輩節點中返回一個結果,字符串類型,同.find_all()參數
    4. <>.find_next_siblings():在後續平行節點中搜索,返回列表類型,同.find_all()參數
    5. <>.find.next_sibling ():在後續平行節點中返回一個結果,字符串類型,同.find_all()參數
    6. <>.find_previous_siblings():在前序平行節點中搜索,返回列表類型,同.find_all()參數
    7. <>.find_previous_sibling():在前序平行節點中返回一個結果,字符串類型,同.find_all()參數

基於bs4庫的HTML內容查找方法和HTML格式化和編碼