W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
字符串常被包含在tag內(nèi).Beautiful Soup用 ?NavigableString
? 類來(lái)包裝tag中的字符串:
tag.string
# u'Extremely bold'
type(tag.string)
# <class 'bs4.element.NavigableString'>
一個(gè) ?NavigableString
? 字符串與Python中的Unicode字符串相同,并且還支持包含在 遍歷文檔樹(shù) 和 搜索文檔樹(shù) 中的一些特性. 通過(guò) ?unicode()
? 方法可以直接將 ?NavigableString
? 對(duì)象轉(zhuǎn)換成Unicode字符串:
unicode_string = unicode(tag.string)
unicode_string
# u'Extremely bold'
type(unicode_string)
# <type 'unicode'>
tag中包含的字符串不能編輯,但是可以被替換成其它的字符串,用 replace_with() 方法:
tag.string.replace_with("No longer bold")
tag
# <blockquote>No longer bold</blockquote>
?NavigableString
? 對(duì)象支持 遍歷文檔樹(shù) 和 搜索文檔樹(shù) 中定義的大部分屬性, 并非全部.尤其是,一個(gè)字符串不能包含其它內(nèi)容(tag能夠包含字符串或是其它tag),字符串不支持 ?.contents
? 或 ?.string
? 屬性或 ?find()
? 方法.
如果想在Beautiful Soup之外使用 ?NavigableString
? 對(duì)象,需要調(diào)用 ?unicode()
? 方法,將該對(duì)象轉(zhuǎn)換成普通的Unicode字符串,否則就算Beautiful Soup已方法已經(jīng)執(zhí)行結(jié)束,該對(duì)象的輸出也會(huì)帶有對(duì)象的引用地址.這樣會(huì)浪費(fèi)內(nèi)存.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: