xpath是一門在XML和HTML文檔中查找信息的語言,可用來在XML和HTML文檔中對元素和屬性進行遍歷,XPath 經過使用路徑表達式來選取 XML 文檔中的節點或者節點集。這些路徑表達式和在常規的電腦文件系統中看到的表達式很是類似。html
想要學好xpath,首先要搞明白html文檔中的節點。性能
以上是在網上隨便找的一段html的文本,能夠觀察獲得,div的標籤下是ul標籤,而ul標籤下是li標籤,因而發現html的標籤是一級一級如樹狀的。Xpath正是經過這樣的方式去尋找。以生活中舉例,要肯定一我的的位置,首先肯定他在中國,而後肯定他在某個省份,哪座城市,那個小區,最後找到他。學習
同級標籤能夠用li[1],li[2],li[3]的方式獲取網站
簡單介紹一下lxml庫,接下來會用到它spa
lxml是一個HTML/XML的解析器,主要的功能是如何解析和提取HTML/XML 數據。3d
lxml和正則同樣,也是用C實現的,是一款高性能的PythonHTML/XML解析器,能夠利用以前學習的XPath語法,來快速的定位特定元素以及節點信息。xml
隨便爬取一個網站,找到找到網站的html文本,以下圖htm
要找到title和href,仔細觀察能夠獲得路徑分別是//div[@id="resultList"]/div[@class="el"]/p/span/a/@titleblog
//div[@id="resultList"]/div[@class="el"]/p/span/a/@hrefip
運行以下:
Xpath,是在爬蟲中常見的提取數據的方式之一,相比於正則,它更加簡單一些,便於操做,xpath的難點在於準確的肯定數據所在的位置。