最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python爬蟲學(xué)習(xí)筆記--BeautifulSoup4庫的使用詳解

 更新時間:2021年08月25日 15:50:17   作者:工具晨的日常  
這篇文章主要介紹了Python中使用Beautiful Soup庫的超詳細教程,示例代碼基于Python2.x版本,極力推薦!需要的朋友可以參考下

使用范例

from bs4 import BeautifulSoup
#創(chuàng)建 Beautiful Soup 對象
# 使用lxml來進行解析
soup = BeautifulSoup(html,"lxml")
print(soup.prettify())

返回結(jié)果

在這里插入圖片描述

常用的對象–Tag

就是 HTML 中的一個個標簽

在上面范例的基礎(chǔ)上添加

from bs4 import BeautifulSoup
#創(chuàng)建 Beautiful Soup 對象
# 使用lxml來進行解析
soup = BeautifulSoup(html,"lxml")
#print(soup.prettify())


#創(chuàng)建 Beautiful Soup 對象
soup = BeautifulSoup(html,'lxml')

print (soup.title)#None因為這里沒有tiele標簽所以返回none

print (soup.head)#None因為這里沒有head標簽所以返回none

print (soup.a)#返回 <a class="fill-dec"  target="_blank">編輯自我介紹,讓更多人了解你<span class="write-icon"></span></a>


print (type(soup.p))#返回 <class 'bs4.element.Tag'>

print( soup.p)

其中print( soup.p)

返回結(jié)果為

在這里插入圖片描述

同樣地,在上面地基礎(chǔ)上添加

print (soup.name)# [document] #soup 對象本身比較特殊,它的 name 即為 [document]

返回

在這里插入圖片描述

print (soup.head.name)#head #對于其他內(nèi)部標簽,輸出的值為標簽本身的名稱
print (soup.p.attrs)##把p標簽的所有屬性打印出來,得到的類型是一個字典。

返回

在這里插入圖片描述

print (soup.p['class'])#獲取P標簽下地class標簽
soup.p['class'] = "newClass"
print (soup.p) # 可以對這些屬性和內(nèi)容等等進行修改

返回

在這里插入圖片描述

常用的對象–NavigableString

前面地基礎(chǔ)上添加

print (soup.p.string)
# The Dormouse's story
print (type(soup.p.string))
# <class 'bs4.element.NavigableString'>thon

返回結(jié)果

在這里插入圖片描述

常用的對象–BeautifulSoup

beautiful soup對象表示文檔的全部內(nèi)容。大多數(shù)情況下,它可以被視為標記對象。它支持遍歷文檔樹并搜索文檔樹中描述的大多數(shù)方法因為Beauty soup對象不是真正的HTML或XML標記,所以它沒有名稱和屬性。但是,有時查看其內(nèi)容很方便。Name屬性,因此美麗的湯對象包含一個特殊屬性。值為“[文檔]”的名稱

print(soup.name)
#返回 '[document]'

常用的對象–Comment

用于解釋注釋部分的內(nèi)容

markup = "<b><!--Hey, buddy. Want to buy a used parser?--></b>"
soup = BeautifulSoup(markup)
comment = soup.b.string
type(comment)
# <class 'bs4.element.Comment'>

對文檔樹的遍歷

在上面的基礎(chǔ)上添加

head_tag = soup.div
# 返回所有子節(jié)點的列表
print(head_tag.contents)

返回

在這里插入圖片描述

同理

head_tag = soup.div

# 返回所有子節(jié)點的迭代器
for child in head_tag.children:
    print(child)

返回

在這里插入圖片描述

tag中包含多個字符串的情況

可用 .strings 來循環(huán)獲取

for string in soup.strings:
    print(repr(string))

返回

在這里插入圖片描述

.stripped_strings 去除空白內(nèi)容

for string in soup.stripped_strings:
    print(repr(string))

返回

在這里插入圖片描述

搜索文檔樹–find和find_all

找到所有

print(soup.find_all("a",id='link2'))

find方法是找到第一個滿足條件的標簽后立即返回,返回一個元素。find_all方法是把所有滿足條件的標簽都選到,然后返回。

select方法(各種查找)

#通過標簽名查找:
print(soup.select('a'))
#通過類名查找:
#通過類名,則應(yīng)該在類的前面加一個'.'
print(soup.select('.sister'))
#通過id查找:
#通過id查找,應(yīng)該在id的名字前面加一個#號
print(soup.select("#link1"))

查找a標簽返回的結(jié)果

在這里插入圖片描述

其他因為網(wǎng)頁本身沒有,返回的是一個空列表

組合查找

print(soup.select("p #link1"))#查找 p 標簽中,id 等于 link1的內(nèi)容

子標簽查找

print(soup.select("head > title"))

通過屬性查找

print(soup.select('a[))#屬性與標簽屬同一節(jié)點,中間不能有空格

獲取內(nèi)容

先查看類型

print (type(soup.select('div')))

在這里插入圖片描述

for title in soup.select('div'):
    print (title.get_text())

返回

在這里插入圖片描述

print (soup.select('div')[20].get_text())#選取第20個div標簽的內(nèi)容

返回

在這里插入圖片描述

總結(jié)

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Python range函數(shù)之生成器函數(shù)的示例

    Python range函數(shù)之生成器函數(shù)的示例

    這篇文章主要介紹了Python range函數(shù)之生成器函數(shù)的示例,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • Pandas DataFrame replace替換后無效的解決

    Pandas DataFrame replace替換后無效的解決

    這篇文章主要介紹了Pandas DataFrame replace替換后無效的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python2和Python3讀取文本文件的區(qū)別及說明

    Python2和Python3讀取文本文件的區(qū)別及說明

    這篇文章主要介紹了Python2和Python3讀取文本文件的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Django項目中包含多個應(yīng)用時對url的配置方法

    Django項目中包含多個應(yīng)用時對url的配置方法

    今天小編就為大家分享一篇Django項目中包含多個應(yīng)用時對url的配置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Windows下搭建python開發(fā)環(huán)境詳細步驟

    Windows下搭建python開發(fā)環(huán)境詳細步驟

    這篇文章主要為大家詳細介紹了Windows下搭建python開發(fā)環(huán)境,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • django批量導(dǎo)入xml數(shù)據(jù)

    django批量導(dǎo)入xml數(shù)據(jù)

    從網(wǎng)上下載的一些數(shù)據(jù),excel表格,xml文件,txt文件等有時候我們想把它導(dǎo)入數(shù)據(jù)庫,應(yīng)該如何操作呢?下面我們就來詳細討論下。
    2016-10-10
  • 利用20行Python 代碼實現(xiàn)加密通信

    利用20行Python 代碼實現(xiàn)加密通信

    這篇文章主要介紹了利用Python 代碼實現(xiàn)加密通信,本文用 20 行 Python 代碼來演示加密、解密、簽名、驗證的功能。大家依樣畫葫蘆,不僅能理解加密技術(shù),更能自己實現(xiàn)一套加密通信機制,需要的朋友可以參考一下
    2022-03-03
  • Django中自定義查詢對象的具體使用

    Django中自定義查詢對象的具體使用

    這篇文章主要介紹了Django中自定義查詢對象的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python解析、提取url關(guān)鍵字的實例詳解

    Python解析、提取url關(guān)鍵字的實例詳解

    今天小編就為大家分享一篇Python解析、提取url關(guān)鍵字的實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python實現(xiàn)斐波那契數(shù)列的示例代碼

    Python實現(xiàn)斐波那契數(shù)列的示例代碼

    斐波那契數(shù)列是一種經(jīng)典的數(shù)學(xué)問題,在計算機科學(xué)和編程中經(jīng)常被用來演示算法和遞歸的概念,本文將詳細介紹斐波那契數(shù)列的定義、計算方法以及如何在Python中實現(xiàn)它,需要的可以參考下
    2024-01-01

最新評論

泸溪县| 文登市| 太保市| 翁牛特旗| 利川市| 吕梁市| 容城县| 鄯善县| 榆中县| 军事| 手游| 宁远县| 巴林左旗| 武宣县| 渝北区| 德阳市| 图片| 含山县| 民丰县| 综艺| 新建县| 广平县| 泾川县| 萍乡市| 廉江市| 城固县| 通榆县| 大足县| 琼中| 金堂县| 娄烦县| 凉城县| 凤阳县| 楚雄市| 西丰县| 赣州市| 永修县| 屏南县| 上犹县| 乌兰察布市| 明水县|