1 功能描述
2 1.实例化一个etree对象,且需要将被解析的页面源码数据加载到该对象中
3 2.调用etree对象中的XPath表达式实现标签的定位和内容捕获
4 3.环境安装 pip install lxml
5 实例化一个etree对象方法有
6 1.将本地的html文档的源码数据加载到etree对象中
7 etree.parse(filepath)
8 2.也可以将互联网上的获取的源代码数据加载到该数据中
9 etree.HTML(’page_text‘)
10 xpath的解析函数
11
12 '''
13 import requests
14 from lxml import etree
15 # 新版导入方式
16 # from lxml import html
17 tree = etree.HTML(’page_text‘)
18 #定位到div标签,//表示多个层级
19 r1 = tree.xpath('//div')
20 #属性定位
21 r2 = tree.xpath('//div[@class="song]')
22 #索引定位,定位到div下的第三个p标签
23 r3 = tree.xpath('//div[@class="song]/p[3]')
24 # 取文本方法或属性,/text(),只能取直系标签的文本
25 r4 = tree.xpath('//div[@class="song]//li[5]/p/text()') #
26 # 取文本方法或属性,//text(),能取该标签下所有本文,包括非直系的标签都可以获取
27 r5 = tree.xpath('//div[@class="song]//li[5]/p//text()')
28 # 取标签的属性,/@attrname。例如/img/@src,返回该标签的属性值,即图片地址
29 r5 = tree.xpath('//div[@class="song]/img/@src')