什么是XPath?
- XPath (XML Path Language) 是一門(mén)在 XML 文檔中查找信息的語(yǔ)言,可用來(lái)在 XML 文檔中對(duì)元素和屬性進(jìn)行遍歷
什么是XML?
- XML 指可擴(kuò)展標(biāo)記語(yǔ)言
- XML 是一種標(biāo)記語(yǔ)言,很類(lèi)似HTML
- XML 的設(shè)計(jì)宗旨是傳輸數(shù)據(jù)详恼,而非顯示數(shù)據(jù)
- XML 的標(biāo)簽需要我們自行定義
- XML 被設(shè)計(jì)為具有自我描述性
- XML 是W3C的推薦標(biāo)準(zhǔn)
XML和HTML的區(qū)別
XML 是可擴(kuò)展標(biāo)記語(yǔ)言堕战,被設(shè)計(jì)為傳輸和存儲(chǔ)數(shù)據(jù)坤溃,其焦點(diǎn)是數(shù)據(jù)的內(nèi)容。
HTML 是超文本標(biāo)記語(yǔ)言嘱丢,顯示數(shù)據(jù)以及如何更好顯示數(shù)據(jù)薪介。
XPath 表達(dá)式
- nodename 選取此節(jié)點(diǎn)的所有節(jié)點(diǎn)
- / 從根節(jié)點(diǎn)選取
- // 從匹配選擇的當(dāng)前節(jié)點(diǎn)選擇文檔中的節(jié)點(diǎn),而不考慮它們的位置
- . 選取當(dāng)前節(jié)點(diǎn)
- .. 選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)
- @ 選取屬性
什么是BeautifulSoup4越驻?
和 lxml 一樣汁政,Beautiful Soup 也是一個(gè)HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 數(shù)據(jù)缀旁。
BeautifulSoup4表達(dá)式
findall() 查找所有節(jié)點(diǎn)
find() 查找單個(gè)
支持css選擇器
獲取標(biāo)簽的屬性 p['class'] => p.attrs['class']
獲取標(biāo)簽的文本 p.get_text() => p.string
BeautifulSoup4和XPath的區(qū)別
Beautifulsoup4 要比Xpath解析數(shù)據(jù)要慢记劈,因?yàn)閎eautifulsoup4載入的是整個(gè)html文檔