lxml,是python中用來處理xml和html的功能最豐富和易用的庫。詳情見:http://lxml.de/index.html。
在windows下安裝lxml,可以用easy_install工具,也可以直接安裝二進制文件。為了方便,我選擇直接用二進制方式安裝。
二進制文件的下載頁面:https://pypi.python.org/pypi/lxml/3.4.1
選擇合適的版本,因我的系統是win7,64位,python版本為2.7,所以我選擇如下lxml版本。
安裝完成后,就可以開始python代碼了:
import codecs import sys from lxml import etree tree = etree.HTML(open('d:\\GitHub\\python27\\simple.html','r').read()) nodes = tree.xpath("//div[@id='name']") print(nodes[0]).text
用到的html文件:
<!DOCTYPE html> <html> <head> <title>This is a simple html file</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> </head> <body> <div id="container"> <div id="name" class="item">勇者面碼</div> <div id="sex">女</div> <div id="borth">9.18</div> </div> </body> </html>
用lxml來解析,不會因為文檔頭小寫而解析失敗。