欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

04 Python爬蟲之Beautiful Soup庫

系統 2017 0

目錄

  • Beautiful Soup庫的安裝
    • Beautiful Soup庫的安裝小測
    • Beautiful Soup庫使用格式
  • Beautiful Soup庫的基本元素
    • Beautiful Soup庫的理解
    • Beautiful Soup庫的引用
    • BeautifulSoup類
    • Beautiful Soup庫解析器
    • BeautifulSoup類的基本元素
      • Tag標簽
      • Tag的name(名字)
      • Tag的attrs(屬性)
      • Tag的NavigableString
      • Tag的Comment
  • 基于bs4庫的HTML內容遍歷方法
    • 標簽樹的下行遍歷
    • 標簽樹的上行遍歷
    • 標簽樹的平行遍歷
  • 基于bs4庫的HTML格式輸出
    • bs4庫的prettify()方法
    • bs4庫的編碼

Beautiful Soup庫的安裝

Win平臺: 以管理員身份運行

cmd 執行 pip install beautifulsoup4

Beautiful Soup庫的安裝小測

  • 首先,獲取網頁源碼保存至變量中
          
            import requests
r = requests.get("https://python123.io/ws/demo.html")
demo = r.text
          
        
  • 其次,引入Beautiful Soup庫。 from bs4 import BeautifulSoup
  • 使用Beautiful Soup庫的html解析器對網頁源碼進行解析。得到結果
  • 通過prettify()方法進行顯示
          
            from bs4 import BeautifulSoup
soup = BeautifulSoup(demo, "html.parser")   # 使用html解析器進行解析
print(soup.prettify())  # 打印解析后的結果
          
        

Beautiful Soup庫使用格式

from bs4 import BeautifulSoup
soup = BeautifulSoup('

data

','html.parser')

Beautiful Soup庫的基本元素

Beautiful Soup庫的理解

Beautiful Soup庫是解析、遍歷、維護“標簽樹”的功能庫

Beautiful Soup庫的引用

Beautiful Soup庫,也叫beautifulsoup4 或bs4 約定引用方式如下,即主要是用BeautifulSoup類

from bs4 import BeautifulSoup importbs4

BeautifulSoup類

BeautifulSoup對應一個HTML/XML文檔的全部內容

Beautiful Soup庫解析器

soup=BeautifulSoup('data', 'html.parser' )

解析器 使用方法 條件
bs4的HTML解析器 BeautifulSoup(mk,'html.parser') 安裝bs4庫
lxml的HTML解析 BeautifulSoup(mk,'lxml') pip install lxml
lxml的XML解析 BeautifulSoup(mk,'xml') pip install lxml
html5lib的解析 BeautifulSoup(mk,'html5lib') pip install html5lib

BeautifulSoup類的基本元素

基本元素 說明
Tag 標簽,最基本的信息組織單元,分別用<>和標明開頭和結尾
Name 標簽的名字,

的名字是'p',格式: .name
Attributes 標簽的屬性,字典形式組織,格式: .attrs
NavigableString 標簽內非屬性字符串,<>…中字符串,格式: .string
Comment 標簽內字符串的注釋部分,一種特殊的Comment類型

Tag標簽

任何存在于HTML語法中的標簽都可以用soup. 訪問獲得 當HTML文檔中存在多個相同 對應內容時,soup. 返回第一個

Tag的name(名字)

每個 都有自己的名字,通過 .name獲取,字符串類型

Tag的attrs(屬性)

一個 可以有0或多個屬性,字典類型

Tag的NavigableString

NavigableString可以跨越多個層次

Tag的Comment

Comment是一種特殊類型

基于bs4庫的HTML內容遍歷方法

HTML基本格式

04 Python爬蟲之Beautiful Soup庫_第1張圖片

標簽樹的下行遍歷

BeautifulSoup類型是標簽樹的根節點

屬性 說明
.contents 子節點的列表,將 所有兒子節點存入列表
.children 子節點的迭代類型,與.contents類似,用于循環遍歷兒子節點
.descendants 子孫節點的迭代類型,包含所有子孫節點,用于循環遍歷
          
            for child?in soup.body.children:    # 遍歷兒子節點
    print(child)
for child?in soup.body.descendants: # 遍歷子孫節點
    print(child)
          
        

標簽樹的上行遍歷

屬性 說明
.parent 節點的父親標簽
.parents 節點先輩標簽的迭代類型,用于循環遍歷先輩節點

標簽樹的平行遍歷

屬性 說明
.next_sibling 返回按照HTML文本順序的下一個平行節點標簽
.previous_sibling 返回按照HTML文本順序的上一個平行節點標簽
.next_siblings 迭代類型,返回按照HTML文本順序的后續所有平行節點標簽
.previous_siblings 迭代類型,返回按照HTML文本順序的前續所有平行節點標簽

04 Python爬蟲之Beautiful Soup庫_第2張圖片

          
            for sibling?in soup.a.next_sibling:     # 遍歷后續節點
    print(sibling)
for sibling?in soup.a.previous_sibling: # 遍歷前續節點
    print(sibling)
          
        

基于bs4庫的HTML格式輸出

能否讓HTML內容更加“友好”的顯示?

bs4庫的prettify()方法

.prettify()為HTML文本<>及其內容增加更加'\n'

.prettify()可用于標簽,方法: .prettify()

bs4庫的編碼

bs4庫將任何HTML輸入都變成utf‐8編碼 Python 3.x默認支持編碼是utf‐8,解析無障礙


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 性做爰片免费视频毛片中文ILO | 日本福利一区二区 | 午夜精品久久久久久久男人的天堂 | a黄视频 | www.久久久 | 大香久久 | 久久这里只有精品国产99 | 国产真实精品久久二三区 | 青青草国产精品欧美成人 | 中文字幕日韩欧美一区二区三区 | 国产精品亲子伦av一区二区三区 | 成人国产精品免费视频 | 亚洲综合色视频在线观看 | 久久综合一个色综合网 | 欧美大胆一级视频 | 久久草视频这里只精品99 | 欧美一区二区三区不卡免费 | 韩国一大片a毛片 | 色蜜桃网 | 亚洲精品视频免费观看 | 污视频网页 | 欧美笫一页 | 欧美高清成人 | 成人亚洲| av色偷偷 | 成人精品视频 | 久久亚洲精品国产精品黑人 | 国产成人综合网在线观看 | 欧美日韩亚洲区久久综合 | 日韩欧美视频在线 | 亚洲欧美综合日韩字幕v在线 | 午夜视频在线看 | 日韩欧美精品在线观看 | 亚洲国产午夜电影在线入口 | 日韩在线电影 | 深爱五月综合网 | 色情女教师3波多野结衣 | 久久久9999久久精品小说 | 久久国产视频一区 | 国产98在线传媒在线视频 | 99re热这里只有精品视频 |