python第三方庫BeautifulSoup

2021-08-04 12:37:44 字數 1516 閱讀 8533

beautiful soup是的乙個庫,最主要的功能是從網頁抓取資料。有了它我們可以很方便地提取出html或xml標籤中的內容

我本地安裝的是python2.7,安裝時自動安裝了pip,在命令列直接輸入

pip install beautifulsoup4 即可,推薦安裝beautifulsoup4版本,安裝好後可以在python環境下輸入 from bs4 import beautifulsoup 測試是否安裝成功,沒有報錯即成功。

各解析模式解析結果

beautifulsoup("

p>", "html.parser")

# a>

beautifulsoup("

p>", "html5lib")

# head>

p>

a>

body>

html>

beautifulsoup("

p>", "lxml")

# a>

body>

html>

beautifulsoup("

a>", "xml")

# <?xml version="1.0" encoding="utf-8"?>

# a>

beautiful soup將複雜html文件轉換成乙個複雜的樹形結構,每個節點都是python物件,所有物件可以歸納為4種:

tag:標籤,有name和attr屬性

只返回首個找到的元素內容

soup.a

soup.p.attrs

soup.p.name

soup.p.get('class')

soup.p['class']

soup.p.string

返回所有匹配的節點內容

soup.p.contents

soup.head.children

soup.descendants

soup.strings

soup.stripped_strings

查詢 返回列表型別

soup.find_all(href=re.compile("elsi"),id='link1')

soup.find_all("a",class_="sister",limit = 2, recursive = false)

soup.find_all(attrs=)

soup.find_all(text=re.compile('dormouse'))

css方式查詢

soup.select('title') # 按標籤名查詢

soup.select('p #link1') #p標籤裡id=link1的物件

soup.select('p a[href=""]') #同一節點中間沒有空格如a[href=''] 屬性用括起來

soup.select('.transaction li')# 不在同一節點中間用空格

soup.select('.content li')

參考鏈結

PyThon第三方庫

本文 自 戀花蝶的部落格 今天公司停電,沒上班。跑上來更新個部落格,跟大家分享一下我常用的幾個第三方 python 庫。python 語言之所以能夠如此流行,除了本身內建許多程式庫來保障快速開發之外,目不睱接的第三方庫也是一大主因。結合我目前的工作 網遊開發 我常用的幾個第三方庫如下 wxpytho...

python 第三方庫

requests 模組 具體詳見 requests 是用python語言編寫的第三方庫,基於 urllib,採用 apache2 licensed 開源協議的 http 庫。它比 urllib 更加方便,完全滿足 http 測試需求,多用於介面測試 常用介面 1.requests.request m...

python第三方庫

網路爬蟲是自動進行http訪問並獲取html頁面的程式。常用的python網路爬蟲庫 一 requests requests庫是乙個簡潔且簡單的處理http請求的第三方庫,它的最大優點是程式編寫過程更接近正常url訪問 過程。這個庫建立在python語言的urllib3庫基礎上。request庫支援...