淺談Python中的bs4基礎

回憶不說話發表於2018-07-30

安裝

在命令提示符框中直接輸入pip install beautifulsoup4

介紹

beautifulsoup是python的一個第三方庫,和xpath一樣,都是用來解析html資料的。

引入

from bs4 import BeautifulSoup

使用

將一段文件傳入BeautifulSoup的構造方法,就能得到一個文件的物件。

bs = BeautifulSoup(open('index.html',encoding='utf-8'),'lxml')
print(bs)

注意:這樣上傳文件的話,BeautifulSoup裡面需要兩個引數。一個為open方法,一個是固定寫法,也就是解析器。

open方法裡面也同樣需要兩個引數,一個是想要解析的資料,另一個為設定編碼的格式。

(1)獲取網頁中的title標籤

print(bs.title)

(2)獲取head標籤及標籤內部的所有其他標籤

print(bs.head)

(3)獲取當中的第一個a標籤

print(bs.a)

注意:獲取文件當中所有的xx當中第一個xx或者第一個xx裡面的內容。都可以用bs.xx來獲取

(4)獲取指定標籤的所有屬性
print(bs.a.attrs)

(5)獲取標籤的屬性

print(bs.a['href'])

(6)獲取標籤的文字內容。

print(bs.a.string)

注意:string獲取的文字指的是本標籤的文字,不包含子標籤的文字

(7)contents能夠獲取指定標籤下面的所有內容。

print(bs.body.contents)

(8)獲取所有內容當中指定索引的內容

print(bs.div.contents[3])

(9)通過id和類名來找標籤

print(bs.find(id='kw'))
print(bs.find(class_='shopping'))

注意:id是唯一的,通過id來找,只能找到一個,所以用find,而class不是唯一的,通過class來找,就有可能找到多個。

 

(10)select選擇指定的標籤

print(bs.select('title'))
print(bs.select('a'))

在bs4中,小數點“.”表示類名,#表示id

print(bs.select('.first'))
print(bs.select('#kw'))
print(bs.select('div.now'))
from bs4 import BeautifulSoup
content = '<a href="提示我這個連結地址">sflkj</a>'
result = BeautifulSoup(content,'lxml').find('a').attrs['href']
print(result)

本文介紹了bs4的一些基本常識,希望對各位有用。

 

 

 

 

 

 

 

 

相關文章