基于pycharm的beautifulsoup4庫使用方法教程
1.beautifulsoup4庫安裝
第一步:在控制臺輸入如下命令,安裝beautifulsoup4庫。
pip install beautifulsoup4

第三步:在pycharm中,點擊file——settings——project——python interpreter——點擊+號——搜索beautifulsoup4——install package!

這樣就可以在.py文件中導(dǎo)入模塊了!
2.beautifulsoup4庫使用
import requests
# 雖然庫名叫做beautiful4 但是在導(dǎo)入時 使用的是其縮寫bs4 其中BeautifulSoup是一個類名
from bs4 import BeautifulSoup
url = 'https://www.baidu.com/s?'
# 由于一般網(wǎng)站都是供用戶訪問 如果檢測到User-Agent是黑客或者其他可能拒絕訪問 故此處模擬瀏覽器
headers = {
? ? 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
# 以防亂碼 此處將其編碼設(shè)置為utf-8 因為有中文
response.encoding = 'utf-8'
# print(response.text)
# 使用的解析器是html.parser 注意是.奧
soup = BeautifulSoup(response.text, 'html.parser')
# 打印解析后的結(jié)果
print(soup.prettify())需要講解的都在代碼注釋中了奧!
3.beautifulsoup4庫基本元素
beautifulsoup4庫是解析、遍歷、維護(hù)“標(biāo)簽樹”的功能庫。
首先來看BeautifulSoup庫解析器,前兩個比較常用!

在上述代碼的基礎(chǔ)上,增加如下幾行,結(jié)合基本元素的使用,可得到如圖所示。
需要注意的是,.string可以跨標(biāo)簽,所以很有可能結(jié)果也為注釋,為了區(qū)分是標(biāo)簽內(nèi)的字符串還是注釋,可以通過打印類型來判斷。



接下來,看一下BeautifulSoup庫的遍歷,其中畫紅框的迭代遍歷,可以用于for in循環(huán)中。
4.beautifulsoup4庫的HTML查找方法
find_all( name , attrs , recursive , string , **kwargs )
find_all() 方法搜索當(dāng)前tag的所有tag子節(jié)點,并判斷是否符合過濾器的條件。
name 參數(shù)可以對名字為 name 的標(biāo)簽進(jìn)行檢索。
attrs參數(shù)可以對標(biāo)簽屬性值為attrs的標(biāo)簽進(jìn)行檢索。
recursive參數(shù)表示是否對子孫全部檢索,默認(rèn)是TRUE,如果只想搜索當(dāng)前節(jié)點的兒子信息,可以置其為FALSE。
string 參數(shù)可以標(biāo)簽中的字符串內(nèi)容進(jìn)行檢索。

5.補充Json(Javascript Object Notation)
我們學(xué)過js的或者java的,應(yīng)該對Json不陌生吧!
Json是一種有類型的鍵值對!
需要注意的是,鍵和值都需要用"“括起來,如果值是整數(shù),則可以不用”"!
如果值是多值,則可以用[,];如果值是鍵值對,則可以用{:,:,},可以嵌套使用。

JSON一般用于接口,而YAML是無類型鍵值對,一般用于配置文件。
到此這篇關(guān)于基于pycharm的beautifulsoup4庫使用方法教程的文章就介紹到這了,更多相關(guān)pycharm的beautifulsoup4庫使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決python gdal投影坐標(biāo)系轉(zhuǎn)換的問題
今天小編就為大家分享一篇解決python gdal投影坐標(biāo)系轉(zhuǎn)換的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
python實現(xiàn)逆波蘭計算表達(dá)式實例詳解
這篇文章主要介紹了python實現(xiàn)逆波蘭計算表達(dá)式的方法,較為詳細(xì)的分析了逆波蘭表達(dá)式的概念及實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-05-05
Python即時網(wǎng)絡(luò)爬蟲項目啟動說明詳解
這篇文章主要為大家詳細(xì)介紹了Python即時網(wǎng)絡(luò)爬蟲項目啟動說明,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-02-02
python中DataFrame數(shù)據(jù)合并merge()和concat()方法詳解
Pandas提供了很多合并Series和Dataframe的強大的功能,通過這些功能可以方便的進(jìn)行數(shù)據(jù)分析,下面這篇文章主要給大家介紹了關(guān)于python中DataFrame數(shù)據(jù)合并merge()和concat()方法的相關(guān)資料,需要的朋友可以參考下2022-07-07

