Xpath是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。

  • 安装lxml模块
  • pip install lxml (此处如果下载速度比较慢,可以通过查看之前的博客所写的方法)
  • 导入extree(from lxml import etree)
  • tree = extree.XML()
  • tree = extree.html() 服务器响应文件
  • tree = extree.parse() 解析本地文件
    比如: html_tree = etree.parse(‘xxx.html’)
  • 然后通过tree即可进行相关的xpath操作

路径获取

  • 鼠标右键查看网页源代码
  • 快捷键 Ctrl + Shift + x 打开xpath工具
  • 在Query框输入路径,在Result中显示定位的值

环境的安装

使用 xpath 需要安装 lxml 库,在这里需要用pip的安装命令,所以我在这里给大家总结了两种提高速度的方式.

使用国内的镜像下载

  1. 临时使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  自己要下载的包

注意 : i即是表示临时的意思

  1. 设为默认

注意: 升级 pip 到最新的版本 (>=10.0.0) 后进行配置

pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

在这里我们也可以采用如下方式:

pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simple

xpath常用表达式

python中的Xpath的安装及使用_xml

基础使用

实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中。有两种方式:
1、将本地的html文档中的源码数据加载到etree对象中
​​​etree.parse('filePath', etree.HTMLParser()) # filePath为文件的路径​

示例:

from lxml import etree # 导包
html = etree.parse('./test.html', etree.HTMLParser()) # ./test.html为本地的html文件的路径
html.xpath('xpath表达式')

2、将从互联网上获取的源码数据加载到etree对象中
​​​etree.HtML('page_data') # page_data为从页面获取的源码数据​

示例:

from lxml import etree # 导包
html = etree.HtML('page_data') # page_data为从页面获取的源码数据
html.xpath('xpath表达式')

Xpath使用工具

chrome生成xpath表达式

经常使用chrome的小伙伴都应该知道这个功能,在"审查"状态下(快捷键ctrl+shift+i,F12),定位到元素(快捷键ctrl+shift+c) ,在Elements选项卡中,右键元素 Copy->Copy xpath,就能得到该元素的xpath了