python之Bs4的使用

2022-09-19 21:39:19 字數 3164 閱讀 5994

bs4是乙個可以幫助我們快速解析文件,獲取我想要的標籤和內容的第三方庫

# beautifulsoup用來解析html等文字格式

# 引入bs4和re

)# html.parser指定乙個解析器,代表解析html文件嗎,因為beautifulsoup不僅僅可以解析html,其他的一些文件格式也可以解析

bs =

beautifulsoup

(html,

"html.parser"

)

獲取標籤,標籤的內容及屬性

print

(bs.title) # 獲取網頁

<

/title>

print

(bs.a) # 獲取網頁

<

/a>

print

(bs.head) # 獲取網頁

<

/head>

# 獲取標籤裡面的內容

print

(bs.title.string)

print

(bs.a.string)

# 獲取標籤的所有屬性

print

(bs.a.attrs)

文件遍歷

print

(bs.head.contents)

for i in

range

(len

(bs.head.contents)):

item=bs.head.contents[i]

print

(item.string)

# 1. 文件的搜尋 find_all

# 字串過濾,將文件所有的a標籤搜尋出來,但是只能搜尋

<

/a>標籤,

<

/adc>標籤就不可以

taglist = bs.

find_all

("a"

)print

(taglist)

# 將a標籤的前三條搜尋出來 用limit=

3taglist = bs.

find_all

("a"

, limit=3)

print

(taglist)

正規表示式搜尋

# re用來寫正規表示式的規則

import re

# 搜尋出所有包含a的標籤

compile

() #裡面傳入的是正規表示式的規則

c_list = bs.

find_all

(re.

compile

("a"))

print

(c_list)

方法搜尋,可以傳入乙個函式

# has_attr方法代表:如果物件有該屬性返回 true,否則返回 false。

def name_is_has

(tag)

:return tag.

has_attr

("name"

)# 將所有包含name屬性的標籤查詢出來

h_list = bs.

find_all

(name_is_has)

print

(h_list)

引數匹配搜尋

# id=head的標籤搜尋出來

i_list = bs.

find_all

(id=

"head"

)# 因為class是關鍵之 所有這裡使用class_ ,所有有class屬性的標籤搜尋出來

i_list=bs.

find_all

(class_=true)

# 將所有標籤帶有 href=

"" 屬性的搜尋出來

i_list=bs.

find_all

(href=

"")for item in i_list:

print

(item)

text引數搜尋

# 將所有匹配的文字搜尋出來

t_list = bs.

find_all

(text=

"貼")

print

(t_list)

# 可以傳多個text引數

t_list = bs.

find_all

(text=

["hao123"

,"新聞"

,"貼吧"])

print

(t_list)

css 選擇器查詢 select

# 將所有的

<

/title>查詢出來

c_list=bs.

select

('title'

)# 將所有的class

=s-top-more 查詢出來

c_list=bs.

select

(".s-top-more"

)# 將所有的id=u1的標籤查詢出來

c_list = bs.

select

("#u1"

)# 將所有div包含class

='guide-info' 屬性的標籤查詢出來

c_list=bs.

select

("div[class='guide-info']"

)# 通過子標籤來查詢

c_list=bs.

select

("head>title"

)# 獲取該標籤的文字

msg=c_list[0]

.get_text()

print

(msg)

print

(c_list)

# 還有其他選擇器,比如兄弟選擇器等等也可以查詢

python爬蟲之bs4的基本使用

beautifulsoup可以很方便地查詢html標籤以及其中的屬性和內容 import requests from bs4 import beautifulsoup 建立beautifulsoup物件 當資料 為本地檔案時 file open html soup beautifulsoup fil...

python爬蟲資料解析之bs4

步驟 1 匯入bs4庫 from bs4 import beautifulsoup2 獲取soup物件 html為你獲取的網頁源 將html轉化為特定的格式lxml 為後面提取資訊做準備 soup beautifulsoup html,lxml 3 利用方法選擇器解析 find all 查詢所有符合...

爬蟲架構 bs4

方便解析html xml等格式的原始碼,快速查詢 修改等操作,節省數小時乃至更多的工作時間 官網文件 from bs4 import beautifulsoup print path beautifulsoup path 非真實網頁 html doc 夏日炎炎,要你幹嘛 print soup.hea...