环境安装
pip install lxml
etree对象实例化
tree = etree.parse(文件名)
tree.xpath("xpath表达式")
tree = etree.HTML(网页内容字符串)
tree.xpath("xpath表达式")
xpath表达式
- /(单斜杠):表示的是从根节点开始定位,表示的是一个层级。
- //(双斜杠):表示的是多个层级。可以表示从任意位置开始定位。
- 属性定位://div[@class=‘song’] tag[@attrName=“atrrValue”]
- 索引定位://div[@class=‘song’] /p[3] (PS:索引是从1开始的)
- 取文本:
/text() 获取的是标签中直系的文本内容
//text() 标签 - 取属性:
/@attrName
属性定位:
//div[@class="acct"]
层级&索引定位:
//div[@class="acct"]/ul/li[2]/a
逻辑运算:
//a[@href="" and @class="acct"]
模糊匹配:
//div[contains(@class, "a")]
//div[starts-with(@class, "ac")]
取文本:
//div[@class="song"]/p[1]/text()
//div[@class="tang"]//text()
取属性:
//div[@class="tang"]//li[2]/a/@href