標籤: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選取器