溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于pycharm的beautifulsoup4庫怎么用

發(fā)布時間:2022-01-15 11:26:26 來源:億速云 閱讀:221 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“基于pycharm的beautifulsoup4庫怎么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“基于pycharm的beautifulsoup4庫怎么用”這篇文章吧。

1.beautifulsoup4庫安裝

第一步:在控制臺輸入如下命令,安裝beautifulsoup4庫。

pip install beautifulsoup4

基于pycharm的beautifulsoup4庫怎么用

第二步:在控制臺輸入如下命令,驗證是否成功安裝beautifulsoup4庫。

基于pycharm的beautifulsoup4庫怎么用

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

基于pycharm的beautifulsoup4庫怎么用

這樣就可以在.py文件中導入模塊了!

2.beautifulsoup4庫使用

import requests
# 雖然庫名叫做beautiful4 但是在導入時 使用的是其縮寫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庫是解析、遍歷、維護“標簽樹”的功能庫。

首先來看BeautifulSoup庫解析器,前兩個比較常用!

基于pycharm的beautifulsoup4庫怎么用

再來看BeautifulSoup庫的基本元素,可以這樣理解,標簽樹和HTML以及BeautifulSoup是一樣的,我們要看HTML的某些內(nèi)容就使用BeautifulSoup的實例化對象查看即可。

基于pycharm的beautifulsoup4庫怎么用

在上述代碼的基礎(chǔ)上,增加如下幾行,結(jié)合基本元素的使用,可得到如圖所示。

需要注意的是,.string可以跨標簽,所以很有可能結(jié)果也為注釋,為了區(qū)分是標簽內(nèi)的字符串還是注釋,可以通過打印類型來判斷。

基于pycharm的beautifulsoup4庫怎么用

總結(jié)起來,可如下:

基于pycharm的beautifulsoup4庫怎么用

基于pycharm的beautifulsoup4庫怎么用

基于pycharm的beautifulsoup4庫怎么用

基于pycharm的beautifulsoup4庫怎么用

基于pycharm的beautifulsoup4庫怎么用

接下來,看一下BeautifulSoup庫的遍歷,其中畫紅框的迭代遍歷,可以用于for in循環(huán)中。

4.beautifulsoup4庫的HTML查找方法

find_all( name , attrs , recursive , string , **kwargs )

find_all() 方法搜索當前tag的所有tag子節(jié)點,并判斷是否符合過濾器的條件。

name 參數(shù)可以對名字為 name 的標簽進行檢索。

attrs參數(shù)可以對標簽屬性值為attrs的標簽進行檢索。

recursive參數(shù)表示是否對子孫全部檢索,默認是TRUE,如果只想搜索當前節(jié)點的兒子信息,可以置其為FALSE。

string 參數(shù)可以標簽中的字符串內(nèi)容進行檢索。

基于pycharm的beautifulsoup4庫怎么用

5.補充Json(Javascript Object Notation)

我們學過js的或者java的,應該對Json不陌生吧!

Json是一種有類型的鍵值對!

需要注意的是,鍵和值都需要用"“括起來,如果值是整數(shù),則可以不用”"!

如果值是多值,則可以用[,];如果值是鍵值對,則可以用{:,:,},可以嵌套使用。

基于pycharm的beautifulsoup4庫怎么用

JSON一般用于接口,而YAML是無類型鍵值對,一般用于配置文件。

以上是“基于pycharm的beautifulsoup4庫怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI