当前位置: 首页 > news >正文

爬虫-xpath篇

天寒保暖,多喝热水

1.xpath的基础语法

表达式描述
nodename选中该元素
/从根节点选取、或者是元素和元素间的过渡
//从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
.选取当前节点
选取当前节点的父节点
@选取属性
text()选取文本

举例:

路径表达式结果
html选择html元素
/html选取根元素 html。注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径!
/html/body/ul/li选取属于 ul的子元素的所有 li元素
//li选取所有 li元素,而不管它们在文档中的位置
/html//li选择属于 html元素的后代的所有 li元素,而不管它们位于 html之下的什么位置
//li//a/@href选择所有的li下面的a标签中的href属性的值
//li//a/text()选择所有的li下面的a标签的文本

2. 寻找特定节点:

路径表达式结果
//span[@class=“s2”]选择class属性值为s2的所有span标签
//ul/li[1]选取属于 ul子标签的第一个 li标签
//ul/li[last()]选取属于 ul子标签的最后一个 li标签
//ul/li[last()-1]选取属于 ul子标签的倒数第二个 li标签
//ul/li[position()>1]选择ul下面的li标签,从第二个开始选择
//li/span/a[text()=‘无墟极道’]选择所有li下的span标签,仅仅选择文本为 无墟极道 的a标签

敲黑板: 在xpath中,第一个元素的位置是1,最后一个元素的位置是last(),倒数第二个是last()-1


以上仅供参考,实用才是王道

重点在这here!!!

一.在大多数标准网站中对于文本的提取
一般只需:相对标签+class属性值
eg.提取喜马拉雅的发现页面的书名
//span[@class='v-m T_G']

  1. 通过开发者工具定位一个书名的位置在这里插入图片描述
    2.黄色标记部分即为所提取的内容在这里插入图片描述

二.对于链接的提取一般只需:相对标签+class属性值+标签中内容所在的属性值
eg.提取喜马拉雅的发现页面的书籍封面链接
//img[@class='img _hW']/@src

  1. 通过开发者工具定位一个图片链接的位置
    (如果图片没刚好定位到链接位置也会定位在临近的地方)
    在这里插入图片描述2. 上方xpath右框内的内容即为所提取的封面图片链接
    (可能会不以协议名开头,浏览器访问会自动加上,如果非浏览器需要自己加上)
    在这里插入图片描述
http://www.lryc.cn/news/254100.html

相关文章:

  • Oracle初始化参数文件pfile和spfile
  • zookeeper 客户端常用命令简单记录(实操课程系列--watcher功能测试)(发布订阅功能测试)
  • Scrapy爬虫数据存储为JSON文件的解决方案
  • 计算机设计大赛 选题推荐
  • 基于springboot,vue高校图书馆管理系统
  • 如何打造更高效、安全、灵活的企业网络组网方案
  • MATLAB Simulink +STM32硬件在环 (HIL)实现例程测试
  • Kubernetes Service控制器详解以及切换为ipvs代理模式
  • 搭建samba服务
  • 总结vue3 的一些知识点:MySQL 排序
  • 从零开始:PHP实现阿里云直播的简单方法!
  • 【数据结构】——二叉树特点
  • C++的类和对象(一)
  • 基于单片机自动饮料混合机控制系统设计
  • react-route-dom 实现简单的嵌套路由
  • 万界星空科技灯具行业MES介绍
  • 16进制字符串转字符串
  • pymysql.err.InternalError: (1054, “Unknown column ‘nan‘ in ‘field list‘“
  • SQL 错误 [1476] [22012]: ORA-01476: 除数为 0
  • go语言项目的目录结构
  • Android : DataBinding 简化开发 简单应用
  • 计算机网络:应用层(下篇)
  • 干货分享 | TSMaster小程序启动和停止的自动化控制流程
  • AI视频智能分析识别技术的发展与EasyCVR智慧安防视频监控方案
  • 外包干了2个月,技术倒退2年。。。
  • 书-用数组存储高于60低于70的人单独存起来
  • 三、DVP摄像头调试笔记(图片成像质量微调整,非ISP)
  • Linux--程序地址空间
  • 【超全】React学习笔记 下:路由与Redux状态管理
  • matplotlib学习