官术网_书友最值得收藏!

1.2.2 Python中實現網頁解析

所謂網頁解析器,簡單地說就是用來解析HTML網頁的工具,它主要用于從HTML網頁信息中提取需要的、有價值的數據和鏈接。在Python中解析網頁主要用到圖1-4所示的3種工具。

0

圖1-4 Python解析網頁常用的3種工具

一是正則表達式。正則表達式(regular expression)描述了一種字符串匹配的模式(pattern),可以用來檢查一個串是否含有某種子串,將匹配的子串替換或者從某個串中取出符合某個條件的子串等。正則表達式的優點是基本能用正則表達式來提取想要的所有信息,效率比較高,但缺點也很明顯——正則表達式不是很直觀,寫起來比較復雜。

二是Lxml庫。這個庫使用的是XPath語法,同樣是效率比較高的解析庫。XPath是一門在XML文檔中查找信息的語言。XPath可用來在XML文檔中對元素和屬性進行遍歷。XPath比較直觀易懂,配合Chrome瀏覽器或Firefox瀏覽器,寫起來非常簡單,它的代碼速度運行快且健壯,一般來說是解析數據的最佳選擇,Lxml是本書中解析網頁的主力工具。

三是Beautiful Soup。Beautiful Soup是一個可以從HTML或XML文件中提取數據的Python庫。它能夠通過我們喜歡的轉換器實現慣用的文檔導航、查找。Beautiful Soup編寫效率高,能幫程序員節省數小時甚至數天的工作時間。Beautiful Soup比較簡單易學,但相比Lxml和正則表達式,解析速度慢很多。

總結起來,無論正則表達式、Beautiful Soup庫還是Lxml庫,都能滿足我們解析網頁的需求,但Lxml使用的XPath語法簡單易學、解析速度快,是本書推薦讀者使用的網頁解析工具。

主站蜘蛛池模板: 黄陵县| 视频| 报价| 辰溪县| 陵川县| 清徐县| 元朗区| 类乌齐县| 玛曲县| 淮滨县| 垫江县| 双柏县| 华蓥市| 措美县| 中山市| 二连浩特市| 承德县| 柏乡县| 洛川县| 汪清县| 油尖旺区| 庆阳市| 上犹县| 兴隆县| 周口市| 尉犁县| 西林县| 平泉县| 龙井市| 嘉鱼县| 堆龙德庆县| 牙克石市| 桃江县| 和平区| 锦屏县| 长沙县| 南充市| 平顺县| 昆明市| 靖州| 冀州市|