書名: Python網絡爬蟲實例教程(視頻講解版)作者名: 齊文光本章字數: 557字更新時間: 2020-10-13 17:53:21
1.2.2 Python中實現網頁解析
所謂網頁解析器,簡單地說就是用來解析HTML網頁的工具,它主要用于從HTML網頁信息中提取需要的、有價值的數據和鏈接。在Python中解析網頁主要用到圖1-4所示的3種工具。

圖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語法簡單易學、解析速度快,是本書推薦讀者使用的網頁解析工具。
推薦閱讀
- The Complete Rust Programming Reference Guide
- 數據庫系統原理及MySQL應用教程
- R語言游戲數據分析與挖掘
- C語言實驗指導及習題解析
- Spring Boot企業級項目開發實戰
- SQL Server從入門到精通(第3版)
- SSM開發實戰教程(Spring+Spring MVC+MyBatis)
- Hands-On JavaScript for Python Developers
- Extending Unity with Editor Scripting
- Python Machine Learning Blueprints:Intuitive data projects you can relate to
- C++程序設計
- Sails.js Essentials
- Maven for Eclipse
- Learning D
- Solr權威指南(下卷)