版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
BeautifulSoup模塊搜索文檔樹(shù)搜索文檔樹(shù)概述BeautifulSoup定義了很多搜索方法,以find_all方法為例,其他方法用法類似。find_all方法,用于搜索當(dāng)前Tag的所有子節(jié)點(diǎn),并判斷是否符合過(guò)濾器的條件,方法格式如下所示:find_all(name,attrs,recursive,text,**kwargs)find_all方法中各個(gè)參數(shù)有不同的功能,接下來(lái)講解方法中的三個(gè)常用參數(shù):name,text,kwargs。find_all方法參數(shù)1.name參數(shù)name參數(shù)可以查找所有名字為name的Tag對(duì)象,字符串對(duì)象會(huì)被自動(dòng)過(guò)濾掉,name參數(shù)可以是字符串、正則比較式、列表、True和方法。字符串是簡(jiǎn)單的過(guò)濾器,在搜索方法中傳入字符串,BeautifulSoup會(huì)查找與字符串完全匹配的的內(nèi)容,返回內(nèi)容為列表。以上面提到的百度為例子,示例如下圖所示。find_all方法參數(shù)1.name參數(shù)4如果傳入正則表達(dá)式作為參數(shù),BeautifulSoup會(huì)通過(guò)正則表達(dá)式的match()方法來(lái)匹配內(nèi)容,返回內(nèi)容為列表。示例如右圖所示。如果傳入?yún)?shù)為列表,BeautifulSoup將返回與列表中所有任意元素匹配的內(nèi)容。示例如左圖所示。find_all方法參數(shù)1.name參數(shù)如果傳入的參數(shù)為True,True可以匹配任何值,但不包括字符串對(duì)象,如果上述過(guò)濾器都不能滿足要求,還可以自定義方法,例如,可以采用下圖中的示例方法。上述過(guò)濾方法hasA()方法中接收一個(gè)Tag節(jié)點(diǎn)元素,如果這個(gè)元素符合過(guò)濾條件,返回當(dāng)前匹配到的元素,否則返回None。find_all方法參數(shù)2.kwargs參數(shù)kwargs參數(shù)在Python中表示key_value參數(shù)。搜索時(shí)會(huì)把該參數(shù)當(dāng)做當(dāng)做指定Tag的屬性來(lái)搜索。搜索指定的Tag屬性時(shí),可以使用的參數(shù)值包括:字符串、正則表達(dá)式、列表、True。以上述百度為例,查找id屬性為“wrapper”,示例如右圖所示。通過(guò)上述結(jié)果可以看到,如果設(shè)置參數(shù)id=“wrapper”,BeautifulSoup會(huì)搜索每個(gè)包含id=“wrapper”屬性的Tag。find_all方法參數(shù)2.kwargs參數(shù)還可以使用正則表達(dá)式,通過(guò)正則匹配,搜索Tag標(biāo)簽包含特定屬性的Tag標(biāo)簽,返回是一個(gè)列表,示例如下圖所示。如果篩選包含某個(gè)屬性的固定Tag標(biāo)簽,可以使用組合屬性方式,示例如下圖所示。標(biāo)簽中的class屬性,在python中是關(guān)鍵字,不能直接使用,需要在class后面加下劃線代替。find_all方法參數(shù)3.text參數(shù)通過(guò)text參數(shù)可以搜索文檔中Tag標(biāo)簽.string屬性與text值相同的Tag標(biāo)簽對(duì)象。與name參數(shù)的可選值一樣,text參數(shù)接收字符串、正則表達(dá)式、列表、True。示例如下:text參數(shù)雖然用于搜索字符,還可配合其他參數(shù)混合使用,篩選出符合需求的標(biāo)簽。如果篩選的結(jié)果過(guò)多,搜索過(guò)程會(huì)很慢,可以使用limit參數(shù)限制返回結(jié)果的數(shù)量。示例如下:其他搜索函數(shù)其他函數(shù)的使用方法和find_all函數(shù)類似,區(qū)別如下表1所示。表1其他搜索函數(shù)函數(shù)功能介紹find(name,attrs,recursive,text,**kwargs)與find_all()方法唯一的區(qū)別是:find_all()方法的返回結(jié)果是所有滿足要求的值組成的列表;而find()方法直接返回find_all()搜索結(jié)果中的第一個(gè)值。find_parents(name,attrs,recursive,text,**kwargs)find_parent(name,attrs,recursive,text,**kwargs)find_parents和find_parent函數(shù)用來(lái)搜索當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)。兩者的區(qū)別是:find_parents返回所有符合條件的父節(jié)點(diǎn);find_parent只返回匹配的第一個(gè)。find_next_siblings(name,attrs,recursive,text,**kwargs)find_next_sibling(name,attrs,recursive,text,**kwargs)find_next_siblings和find_next_sibling函數(shù)返回符合條件的后面兄弟節(jié)點(diǎn)。兩者的區(qū)別是:find_next_siblings會(huì)返回所有符合條件的兄弟節(jié)點(diǎn);find_next_sibling只會(huì)返回匹配的第一個(gè)。find_previous_siblings(name,attrs,recursive,text,**kwargs)find_previous_sibling(name,attrs,recursive,text,**kwargs)這兩個(gè)方法
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒消防安全課件
- 陜西省地方標(biāo)準(zhǔn)-醫(yī)院物業(yè)服務(wù)規(guī)范
- 編制說(shuō)明《光學(xué)非球面鏡片面形三維測(cè)試方法》
- 2024年水處理阻垢緩蝕劑HEDP合作協(xié)議書(shū)
- 服務(wù)營(yíng)銷課件教學(xué)課件
- 專題2 倍數(shù)與因數(shù)(數(shù)與代數(shù))-2023-2024學(xué)年五年級(jí)上冊(cè)數(shù)學(xué)寒假專項(xiàng)提升(北師大版)
- 2024年切割設(shè)備控制系統(tǒng)項(xiàng)目合作計(jì)劃書(shū)
- 肺癌的外科治療治療
- 2024年船底防污漆項(xiàng)目發(fā)展計(jì)劃
- 廣東省茂名市區(qū)域2024-2025學(xué)年高三上學(xué)期10月聯(lián)考試題 生物 含答案
- 閥門英語(yǔ)及縮寫
- 集裝箱吊裝方案
- 單項(xiàng)式乘多項(xiàng)式練習(xí)題
- 帶式輸送機(jī)自動(dòng)張緊裝置設(shè)計(jì)畢業(yè)論文
- 因私護(hù)照(領(lǐng)用)表 - 【涉密】人員
- 三年級(jí)上冊(cè)道德與法治10《父母多愛(ài)我》說(shuō)課稿
- 果蔬洗滌劑配方(共3頁(yè))
- (整理版)兩角和與差二倍角公式
- 活塞式調(diào)流閥介紹
- 4AUnit7《Howmuch》第一課時(shí)教學(xué)設(shè)計(jì)
- 第三章磺化反應(yīng)
評(píng)論
0/150
提交評(píng)論