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

第三步:在pycharm中,點(diǎn)擊file——settings——project——python interpreter——點(diǎn)擊+號(hào)——搜索beautifulsoup4——install package!

這樣就可以在.py文件中導(dǎo)入模塊了!
2.beautifulsoup4庫使用
import requests
# 雖然庫名叫做beautiful4 但是在導(dǎo)入時(shí) 使用的是其縮寫bs4 其中BeautifulSoup是一個(gè)類名
from bs4 import BeautifulSoup
url = 'https://www.baidu.com/s?'
# 由于一般網(wǎng)站都是供用戶訪問 如果檢測(cè)到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 因?yàn)橛兄形?
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庫解析器,前兩個(gè)比較常用!

在上述代碼的基礎(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é)點(diǎn),并判斷是否符合過濾器的條件。
name 參數(shù)可以對(duì)名字為 name 的標(biāo)簽進(jìn)行檢索。
attrs參數(shù)可以對(duì)標(biāo)簽屬性值為attrs的標(biāo)簽進(jìn)行檢索。
recursive參數(shù)表示是否對(duì)子孫全部檢索,默認(rèn)是TRUE,如果只想搜索當(dāng)前節(jié)點(diǎn)的兒子信息,可以置其為FALSE。
string 參數(shù)可以標(biāo)簽中的字符串內(nèi)容進(jìn)行檢索。

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

JSON一般用于接口,而YAML是無類型鍵值對(duì),一般用于配置文件。
到此這篇關(guān)于基于pycharm的beautifulsoup4庫使用方法教程的文章就介紹到這了,更多相關(guān)pycharm的beautifulsoup4庫使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python通過DOM和SAX方式解析XML的應(yīng)用實(shí)例分享
這篇文章主要介紹了Python通過DOM和SAX方式解析XML的應(yīng)用實(shí)例分享,針對(duì)這兩種解析方式Python都有相關(guān)的模塊可供使用,需要的朋友可以參考下2015-11-11
Python常見數(shù)字運(yùn)算操作實(shí)例小結(jié)
這篇文章主要介紹了Python常見數(shù)字運(yùn)算操作,結(jié)合實(shí)例形式總結(jié)分析了Python數(shù)字常見的四則運(yùn)算、整除、取余、開平方等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-03-03
python修改linux中文件(文件夾)的權(quán)限屬性操作
這篇文章主要介紹了python修改linux中文件(文件夾)的權(quán)限屬性操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
python3+PyQt5 實(shí)現(xiàn)Rich文本的行編輯方法
今天小編就為大家分享一篇python3+PyQt5 實(shí)現(xiàn)Rich文本的行編輯方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06
Python中tkinter無法同時(shí)顯示多個(gè)image的解決方法及pack與place解析
這篇文章主要介紹了Python中tkinter無法同時(shí)顯示多個(gè)image的解決方法及pack與place解析,本文給大家分享問題原因解析及解決方案,需要的朋友可以參考下2023-02-02

