首页 > 编程语言 >Python爬虫必杀技:XPath

Python爬虫必杀技:XPath

时间:2023-10-10 23:11:20浏览次数:39  
标签:XPath XML xpath Python 路径 爬虫 选取 节点

XPath 是什么

XPath 即为 XML 路径语言,它是一种用来确定 XML(标准通用标记语言的子集) 文档中某部分位置的语言。XPath 基于 XML 的树状结构,有不同类型的节点,包括元素节点,属性节点和文本节点,提供在数据结构树中找寻节点的能力。跟 BeautifulSoup4一样都是用来解析页面内容的工具,只不过使用方式有所不同而已。

想使用 xpath,需要安装 lxml,命令如下:

> pip install lxml

XPath 节点选取语法

XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。常用的路径表达式有:

img

但是往往在查找的时候,我们需要获取某个特定的节点,则需要配合下面的方式即:被嵌在方括号内,用来查找某个特定的节点或包含某个值定的值的节点。

img

另外还可以在使用 xpath 的时候使用通配符和功能函数

img

img

标签:XPath,XML,xpath,Python,路径,爬虫,选取,节点
From: https://www.cnblogs.com/binbingg/p/17756002.html

相关文章

  • Python自动筛选、删除Excel不处于给定区间的数据
      本文介绍基于Python语言,读取Excel表格文件,基于我们给定的规则,对其中的数据加以筛选,将不在指定数据范围内的数据剔除,保留符合我们需要的数据的方法。  首先,我们来明确一下本文的具体需求。现有一个Excel表格文件(在本文中我们就以.csv格式的文件为例),如下图所示。  其中,Exc......
  • 一条爬虫抓取一个小网站所有数据
    一条爬虫抓取一个小网站所有数据 今天闲来无事,写一个爬虫来玩玩。在网上冲浪的时候发现了一个搞笑的段子网,发现里面的内容还是比较有意思的,于是心血来潮,就想着能不能写一个Python程序,抓取几条数据下来看看,一不小心就把这个网站的所有数据都拿到了。 这个网站主要的数据都是详情在HT......
  • # yyds干货盘点 #盘点一个Python自动化办公Excel数据填充实战案例(下篇)
    大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公的问题,一起来看看吧。上一篇【论草莓如何成为冻干莓】大佬给出的方法太深奥了,粉丝没有看懂,这一篇文章,一起来围观大佬在粉丝的代码基础上进行修改出正确的代码。二、实现过程这里是【论草莓......
  • python读取excel测试用例数据
     #excel_readUtil.pyfromopenpyxlimportload_workbookimportpandasclassHandleExcel:"""封装excel文件处理类"""def__init__(self,filename,sheetname=None):"""定义构造方法:p......
  • PythonDay1
    编译型:如谷歌翻译器,英汉互译       解释型:如外交官一对一翻译python解释器下载官网:https://www.pyhton.org ---------Downloads(版本选择)  注释: ......
  • 记录python语言的数组去重并输出
    deffind_duplicates(arr):seen=set()duplicates=[]fornuminarr:ifnuminseen:duplicates.append(num)seen.add(num)returnduplicatesarr=['1000223453','1000227458','1000223......
  • python查找替换危险字符脚本
    为了沃滴好大儿的大创写了这么个脚本代码如下:1importio2importbase6434defreplace_dangerous_sequences(image_path):5try:6#读取图像文件的内容7withopen(image_path,'rb')asimage_file:8image_data=image_......
  • python计算 ico hash 值
    apt-getinstallpython3apt-getinstallpython3-pippipinstallmmh3importrequestsimportbase64importmmh3URL='https://www.baidu.com/favicon.ico'r=requests.get(URL)r1=r.contentr2=base64.encodebytes(r1)r3=mmh3.hash(r2)print('http.fav......
  • Python 常见排序:冒泡、选择、快速
    简单说明:1.冒泡排序:双层循环,交替结果2.选择排序:whilenums,假设第一个值为做小,通过for循环找到最小值以此来替换,再将nums中该值去掉继续上述步骤3.快速排序:定义一个初值,把整个数据列表分为两部分,再递归代码实现:#冒泡排序defaction1(n):foriinrange(len(n)):......
  • 【python】魔术方法大全(四)——类构建篇
    这期我们来聊聊和class建立有关的魔术方法。__init_subclass__魔术方法__init_subclass__是Python3.6新增的一个特殊方法,用于定义一个类(基类)被继承时所执行的逻辑。当一个类被定义为另一个类(基类)的子类时,它会自动调用__init_subclass__方法。__init_subclass__方法定义......