亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

04 Python爬蟲(chóng)之Beautiful Soup庫(kù)

系統(tǒng) 2160 0

目錄

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

Beautiful Soup庫(kù)的安裝

Win平臺(tái): 以管理員身份運(yùn)行

cmd 執(zhí)行 pip install beautifulsoup4

Beautiful Soup庫(kù)的安裝小測(cè)

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

Beautiful Soup庫(kù)使用格式

from bs4 import BeautifulSoup
soup = BeautifulSoup('

data

','html.parser')

Beautiful Soup庫(kù)的基本元素

Beautiful Soup庫(kù)的理解

Beautiful Soup庫(kù)是解析、遍歷、維護(hù)“標(biāo)簽樹(shù)”的功能庫(kù)

Beautiful Soup庫(kù)的引用

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

from bs4 import BeautifulSoup importbs4

BeautifulSoup類

BeautifulSoup對(duì)應(yīng)一個(gè)HTML/XML文檔的全部?jī)?nèi)容

Beautiful Soup庫(kù)解析器

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

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

BeautifulSoup類的基本元素

基本元素 說(shuō)明
Tag 標(biāo)簽,最基本的信息組織單元,分別用<>和標(biāo)明開(kāi)頭和結(jié)尾
Name 標(biāo)簽的名字,

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

Tag標(biāo)簽

任何存在于HTML語(yǔ)法中的標(biāo)簽都可以用soup. 訪問(wèn)獲得 當(dāng)HTML文檔中存在多個(gè)相同 對(duì)應(yīng)內(nèi)容時(shí),soup. 返回第一個(gè)

Tag的name(名字)

每個(gè) 都有自己的名字,通過(guò) .name獲取,字符串類型

Tag的attrs(屬性)

一個(gè) 可以有0或多個(gè)屬性,字典類型

Tag的NavigableString

NavigableString可以跨越多個(gè)層次

Tag的Comment

Comment是一種特殊類型

基于bs4庫(kù)的HTML內(nèi)容遍歷方法

HTML基本格式

04 Python爬蟲(chóng)之Beautiful Soup庫(kù)_第1張圖片

標(biāo)簽樹(shù)的下行遍歷

BeautifulSoup類型是標(biāo)簽樹(shù)的根節(jié)點(diǎn)

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

標(biāo)簽樹(shù)的上行遍歷

屬性 說(shuō)明
.parent 節(jié)點(diǎn)的父親標(biāo)簽
.parents 節(jié)點(diǎn)先輩標(biāo)簽的迭代類型,用于循環(huán)遍歷先輩節(jié)點(diǎn)

標(biāo)簽樹(shù)的平行遍歷

屬性 說(shuō)明
.next_sibling 返回按照HTML文本順序的下一個(gè)平行節(jié)點(diǎn)標(biāo)簽
.previous_sibling 返回按照HTML文本順序的上一個(gè)平行節(jié)點(diǎn)標(biāo)簽
.next_siblings 迭代類型,返回按照HTML文本順序的后續(xù)所有平行節(jié)點(diǎn)標(biāo)簽
.previous_siblings 迭代類型,返回按照HTML文本順序的前續(xù)所有平行節(jié)點(diǎn)標(biāo)簽

04 Python爬蟲(chóng)之Beautiful Soup庫(kù)_第2張圖片

          
            for sibling?in soup.a.next_sibling:     # 遍歷后續(xù)節(jié)點(diǎn)
    print(sibling)
for sibling?in soup.a.previous_sibling: # 遍歷前續(xù)節(jié)點(diǎn)
    print(sibling)
          
        

基于bs4庫(kù)的HTML格式輸出

能否讓HTML內(nèi)容更加“友好”的顯示?

bs4庫(kù)的prettify()方法

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

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

bs4庫(kù)的編碼

bs4庫(kù)將任何HTML輸入都變成utf‐8編碼 Python 3.x默認(rèn)支持編碼是utf‐8,解析無(wú)障礙


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 久久久久久日本一区99 | 精品九九视频 | 在线观看国产一区二区三区 | 国产欧美日韩综合一区二区三区 | 久久综合久久鬼色 | 天天操天天操 | 丁香婷婷网 | 老司机午夜精品99久久免费 | www.欧美.com| 久久久一区二区三区不卡 | 好吊妞视频在线观看 | 欧美激情毛片 | 性激烈欧美三级在线播放 | 日韩中文字幕在线不卡 | 久久精品亚洲日本筱田优 | 99国产国人青青视频在线观看 | 福利在线观看视频 | 久久99国产亚洲高清观看首页 | 久久久久在线 | 国产一级特黄高清免费大片 | 91探花在线视频 | 日韩 欧美 自拍 在线 视频 | 亚洲不卡视频在线观看 | 日韩国产在线 | 亚洲国产最新在线一区二区 | 国产成人综合在线 | 五月婷婷狠狠干 | 国产在线98福利播放视频免费 | 成人亚洲欧美 | 国产伦人伦偷精品视频 | 视频一区中文字幕 | 国产欧美另类久久精品91 | 级毛片| 日本亚洲欧美 | 黄色影院在线观看视频 | 国产欧美日本在线观看 | 久久国产影院 | 国产精品免费大片 | 国内精品七七久久影院 | 国产精品伦一区二区三级视频 | 国产精品高清全国免费观看 |