步驟:
1.從lxml中匯入etree(兩種方式)
第一種:
from lxml import etree
注意:第一種方式,可能etree下方會出現紅線,但是不影響使用
第二種:
from lxml import html
etree = html.etree
str = '' \
'' \
'' \
'harry potter' \
'29.99' \
'' \
'' \
'learning xml' \
'39.95' \
'' \
'' \
''
2.etree.html()將字串轉換成html元素物件(必須進行),可以自動補全缺失的標籤
html = etree.html(str)
print(html) #
3. 使用xpath進行資料提取
xpath是根據路徑表示式來查詢元素的,返回值是乙個列表
如果沒有找到,返回的是乙個空列表
比如:f:\python夏令營
xpath路徑分為兩種:
第一種:/
如果作為開頭,代表的是根路徑,如果是在路徑裡面中寫,代表一層一層的查詢
找到bookstore元素
bookstore = html.xpath('/html/bookstore')
print(bookstore) # -> 沒有找到
boostore = html.xpath('/html/body/booktore')
print(bookstore)
第二種://
代表任意路徑
找到bookstore元素
bookstore = html.xpath('//body/bookstore')
print(bookstore) #
例如:獲取book元素
book = html.xpath('//book')
print(book) # [, ]
text()獲取標籤之間的內容
例如:獲取title標籤的內容
步驟:
title = html.xpath('//book/title')
print(title) # [, ]
title1 = html.xpath('//book/title/text()')
print(title1) # ['harry potter', 'learning xml']
str = '' \
'' \
'' \
'harry potter' \
'29.99' \
'' \
'' \
'learning xml' \
'39.95' \
'' \
'' \
''html = etree.html(str)
謂語:
如果條件是屬性:需要使用@關鍵字
例如:獲取lang屬性為eng的title標籤之間的內容
title = html.xpath('//book/title[@lang="eng"]/text()')
print(title) # ['learning xml']
str = '' \
'' \
'' \
'harry potter' \
'29.99' \
'' \
'' \
'learning xml' \
'39.95' \
'' \
'' \
''html = etree.html(str)
獲取屬性的值:/@+屬性名
例如:獲取所有title標籤href屬性的值
步驟:
title = html.xpath('//book/title/@href')
print(title) #['']
CSS 的簡寫 新手必看
1.顏色的簡寫 十六進製制形式 如 rrggbb rgb函式值形式 如 rgb x,x,x x 有兩種寫法,一種是0程式設計客棧 255之間整數,另一種是百分號形式 如 20 顏色名稱 如 red green 使用者系統色盤值 如windowtext background 2.單位值的省略 當數值為...
新手學PHP必看
1.概要 學習任何語言都需要多看 多想 多寫 多問!寫程式設計是一種熟能生巧的東西!學習php也一樣,因為知識就那麼多,你看多了就會覺得怎麼都一樣。程式設計師就是炒冷飯的,一遍又一遍。多敲幾遍就可以閉著眼睛寫了,所以企業招聘都會問你寫過多少行 的!程式設計師最忌諱浮躁,有時候發現一段程式完全找不出錯...
新手學習Docker必看
1.為什麼要學docker 答 避免一種情況 我的機器上可以執行,為什麼你的不可以?很多時候,我們想把自己的程式拿給別人執行,別人往往直接拷貝過來是不可以直接用的,甚至怎麼改 怎麼修改環境都用不了,那怎麼辦?docker就是為了解決這個尷尬而出現的。2.docker的作用 答 a.解決執行環境不一致...