爬虫基础-xpath数据解析基础
xpath解析:
-最常用且最高效便捷的一种解析方式,通用性强.
- xpath解析原理
- 1. 实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中
- 2. 调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和内容的捕获.
- 环境安装:
- pip install lxml
- 如何实例化一个etree对象
- 1. 将本地的html文档中的源码数据加载到etree对象中:
etree.parse(filePath)
- 2. 将从互联网上获取的源码数据加载到该对象中
etree.HTML('page_text')
- xpath('xpath表达式') #返回的是列表
- /html/body/div # 表示从根节点开始定位,一个/表示的是一个层级
- /html//div # //表示多个层级
- //div # 定位源码中所有div
- 标签定位
- 写法 //tag[@attrName="attrValue"]
- //div[@class="book_list"] # 定位到class属性为book_list的div的标签
- 索引定位
- //div[@class="book_list"]/p[3] # 定位到class属性为book_list的div的第三个p标签-索引是从1开始
- //div[@class="book_list"]//li[5]/a # 定位到class属性为book_list的div标签下第五个li标签下的a标签
- 取文本:
- /text() # 取直系文本-列表
- //div[@class="book_list"]//li[5]/a/text()[0]
- //text() # 获取所有文本内容-列表
- //div[@class="book_list"]//li[5]/a//text()[0]
- 取属性:
- /@attrName
- //div[@class="img_list"]//img/@src