Xpath 常用语法展示
非标准代码处理
from lxml import etree #导入lxml 中erree模块
parser = etree.HTMLParser(encoding="utf-8") #解释器指定编码
tree = etree.parse("b.html", parser=parser) #把解释器加到etree解释器
print(tree) #打印节点
print(etree.tostring(tree, encoding="utf-8").decode("utf-8")) #类型解码:看到具体内容
常用功能
#1.获取子节点全部文本
result = tree.xpath('/html/body/ul/li/a/text()')
# / 从当前节点选取直接子节点
# text()方法获取节点中的文本
print(result)
#2.指定获取子节点某一个文本
result = tree.xpath('/html/body/ul/li[1]/a/text()')
#指定标签中某一个内容:li[1]:某一标签第一个内容(xpath是从一开始数数)
print(result)
#3.指定属性获取 内容
result = tree.xpath('/html/body/ol/li/a[@href="suiyue"]/text()')
# @ :指定标签属性 ;a[@href="suiyue"]/text():根据标签属性打印文本
print(result)
#4.相对查找,获取内容
ol_li_list = tree.xpath("/html/body/ol/li")
print(ol_li_list) #找到3个节点
for li in ol_li_list:
#循环,从每一个li提取文字信息
result = li.xpath("./a/text()") #从li继续寻找(相对查找)
# ./ :表示当前节点
print(result)
result = li.xpath("./a/@href") #/@+属性类型:我们就可以拿到这个标签里面某种属性的值
print(result)
#5.获取标签属性值
print(tree.xpath('/html/body/ul/li/a/@href'))
# a/@href: a标签属性href 所有的值
小技巧
# 利用谷歌浏览器:F12程序员,快速复制Xpath路劲
print(tree.xpath("/html/body/div[1]/text()"))
Xpath 常用语法展示的更多相关文章
- XPath 常用语法札记
* 不包含属性的元素 例如不包含属性的span: span[not(@*)] * 文本包含某部分的元素 例如文本包含Rank的元素: *[contains(text(),'Rank')] * 选择匹配 ...
- Markdown通用的常用语法说明
前言 Markdown 是一种轻量级的 标记语言,语法简洁明了.学习容易,还具有其他很多优点,目前被越来越多的人用来写作使用. Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表 ...
- 转载:XPath基本语法
出处:http://www.cnblogs.com/Miko2012/archive/2012/10/26/2740840.html XPath的语法最基本的节点之间用/,属性用@,还有几个函数记住了 ...
- python MVC、MTV 框架介绍 Django 模板系统常用语法
Django 框架简介一.MVC框架和MTV框架1.MVC 全名Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分.优势: 耦合性低 重用性高 生命 ...
- Markdown:常用语法
1.标题 说明:一共可以6级标题,几级几个# 一级标题 #一级标题 2.代码 用前后扩上 Hello World! 3.代码块 用前后扩上 Hello World! 4.加粗 加粗了 **加粗了** ...
- MarkDown常用语法表
MarkDown常用语法表 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Title - 标题 2 H ...
- MySQL的DML常用语法格式
MySQL的DML常用语法格式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们知道MySQL的查询大致分为单表查询,多表查询以及联合查询.多表查询,顾名思义,就是查询的结果可能 ...
- Vue常用语法及命令
1,Vue常用语法 vue常用语法之变量的定义 // 1,变量相关 // 变量的提升 var username = "雪雪"; var username ; console.log ...
- markdown 常用语法总结 - 个人版
这里并不是要总结所有的 markdown 语法,只是总结笔者自己撰写博客时常用的一些 markdown 语法. 1 图片设置 1.1 设置图片位置 利用markdown在编写文档时插入图片是默认靠左, ...
- python3+selenium常用语法汇总
Selenium常用语法总结 一.Selenium常用定位语法 1.元素定位 (1)ID定位元素: find_element_by_id(‘’) (2)通过元素的类名称定位元素: find_eleme ...
随机推荐
- javascript的属性描述符
什么是属性描述对象(attributes object)? 顾名思义,就是用来描述对象属性的对象.javascript内部提供了一个数据结构,用来描述对象的属性以及控制属性的行为. 比如该对象的某属性 ...
- vue-element-admin框架连接yapi配置vue.config.js
devServer: { host:'localhost', port:port, proxy:{ [process.env.VUE_APP_BASE_API + '/admin']: { //配置p ...
- leetcode刷题(一)
1.数组 三数之和 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可 ...
- Mysql优化工具
https://blog.csdn.net/qq_29229567/article/details/106241831
- DiskGenius磁盘扩容教程
DiskGenius磁盘扩容教程 知识就是不用就会忘记,笔记就是忘记了可以再次查找知识. 百度一篇教程,链接如下: https://jingyan.baidu.com/article/e4511cf3 ...
- MS14-064/CVE-2014-6332漏洞复现(OLE远程代码执行漏洞、IE浏览器漏洞)
漏洞介绍:MS14-064 Microsoft Internet Explorer Windows OLE Automation Array Remote Code Execution,主要利用IE浏 ...
- antd-vue 框架的日期选择选年份
<a-date-picker :placeholder="placeholder" mode="year" format="YYYY" ...
- 蓝牙mesh组网实战(智能家居应用)
目录 蓝牙mesh组网目前存在有入门门槛高的问题,比如,嵌入式工程师需要考虑到标准mesh模型的兼容,app开发工程师需要了解mesh协议栈才能直接走mesh与芯片通信.而沁恒官方提供的透传模型简洁易 ...
- uni小程序保存base64图片
使用uni.getFileSystemManager().writeFile去下载base64图片<view class="share-btn" @click="s ...
- Document.createEvent与new Event区别
Document.createEvent 写法: const e = document.createEvent('HTMLEvents'); e.initEvent('click', true, tr ...