栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Python

Python | 04.XPath

Python 更新时间:发布时间: 百科书网 趣学号

文章目录
  • 1.XPath概述
  • 2.XPath语法
  • 3.浏览器中使用XPath
    • 3.1.在浏览器中使用XPath
  • 4.Python中使用XPath的使用
    • 4.1.lxml库:使用XPath解析HTML
    • 4.2.selenium库:使用XPath定位元素、获取属性等

1.XPath概述
  • 解析XML的一种语言(HTML其实是XML的子集),通常用于解析HTML
  • 几乎所有语言都有和XPath相关的包或库(几乎支持所有语言)
  • 除了XPath,还有许多其他的python库可用于XML解析,如BeatifulSoup、Ixml、DOM等
2.XPath语法

归根结底,XPath其实就只有三大类:

  • 层级:/直接子级,//跳级
  • 属性:@属性访问
  • 函数:contains( )、text( )等
3.浏览器中使用XPath 3.1.在浏览器中使用XPath

浏览器中打开F12,点击Elements以后按Ctrl + F,便可唤出搜索栏

在其中输入XPath表达式以选定元素

右键元素 ==> Copy ==> Copy XPath/Copy Full Xpath

  • Copy XPath:若属性中有id,直接给到id有关的xpath表达式
  • Copy Full XPath:给出完整的XPath表达式
# Copy XPath
//*[@id="kw"]

# Copy Full XPath
/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input
4.Python中使用XPath的使用 4.1.lxml库:使用XPath解析HTML

导入lxml库

from lxml import etree

在成功爬取了HTML后,将其以字符串形式,作为etree.HTML()的参数

以下为从本地HTML文件读取:

# open函数读取html,入读方式为"r",注意编码为"utf-8"
htmlFile = open("../html/test.html", "r", encoding="utf-8")
# 使用read()读取文件所有内容
htmlStr = htmlFile.read()
# 关闭文件
htmlFile.close()


# etree.HTML()获取html实例
html = etree.HTML(htmlStr)

获取html实例后,便可以调用xpath()定位元素(返回值是数组

  • 获取标签内容需要在最后加上/text( )
  • 定位单个元素的话,在最后要记得加上下标
4.2.selenium库:使用XPath定位元素、获取属性等

selenium库对XPath的应用在下篇文章讲到:

05.基于selenium的数据爬取

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/273339.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号