bs4 CSS選取器

來源:互聯網
上載者:User

標籤:ttext   ott   open   傳回值   http   download   NPU   div   int   

#https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html#find-all

#beautifulSoup可以解析HTML,下載安裝時使用的是 pip install beautifulsoup4  ,匯入模組時使用的是bs4.

 

import bs4

 

noStarchSoup=bs4.BeautifulSoup(res.text)

#bs4.BeautifulSoup()函數返回的是一個BeautifulSoup對象。

 

 

#也可以像BeautifulSoup()傳遞一個File對象。

exampleFile=open(‘usePythonDownloadHtml.html‘)

exampleSoup=bs4.BeautifulSoup(exampleFile.read())

#CSS選取器的匹配模式

‘‘‘

傳遞給select()方法的選取器          將匹配...

soup.select(‘div‘)                   所有名為<div>的元素

soup.select(‘#author‘)               帶有id屬性為author的元素

soup.select(‘.notice‘)               所有使用CSS class 屬性名稱為notice的元素

soup.select(‘div span‘)              所有在<div>元素之內的<span>元素

soup.select(‘div > span‘)            所有直接在<div>元素之內的<span>元素,中間沒有其他元素

soup.select(‘input[name]‘)           所有名為<input>,並有一個name屬性,其值無所謂的元素

soup.select(‘input[type="button"]‘)  所有名為<input>,並有一個type屬性,其值為bottom的元素

‘‘‘

 

#不同的選取器模式可以組合起來,形成複雜的匹配。例如,soup.select(‘p#author‘)將匹配所有id屬性為author的元素,只要它也在一個<p>元素之內。

#select()方法將返回一個tag對象的列表。Tag的值可以傳遞給str()函數,顯示它們代表的Html標籤。Tag值也可以有attrs屬性,它將該Tag的屬性作為一個字典。

 

elems=exampleSoup.select(‘p‘)  #尋找出"id=author"的元素,返回的elems為一個list.

#len(elems) 傳回值為1,說明列表中只有一個tag對象。

print(elems[0].getText(),‘1‘ )#返回該元素的文本,或內部的HTML。一個元素的文本是在開始和結束標籤之間的內容。

print(str(elems[0]),‘2‘ ) #將返回一個字串,其中包含開始和結束標籤,以及該元素得到文本。

print(elems[0].attrs,‘3‘) #返回一個字典包含元素的屬性名稱與屬性值。

print(elems[0].get(‘id‘),‘4‘)#返回元素的屬性‘id‘的值。

bs4 CSS選取器

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.