Python lxml解析HTML并用xpath获取元素的方法


Posted in Python onJanuary 02, 2019

代码

使用方法见注释

#-*- coding: UTF-8 -*-

from lxml import etree

source = u'''
<div><p class="p1" data-a="1">测试数据1</p>
<p class="p1" data-a="2">测试数据2</p>
<p class="p1" data-a="3" style="height:100px;">
<strong class="s">测试数据3</strong></p>
<p class="p1" data-a="4" width="200"><img src="1.jpg" class="img"/><br/>
图片</p>
'''

# 从字符串解析
page = etree.HTML(source)

# 元素列表
ps = page.xpath("//p")
for p in ps:
  print u"属性:%s" % p.attrib
  print u"文本:%s" % p.text

# 文本列表
ts = page.xpath("//p/text()")
for t in ts:
  print t

# xpath定位 
ls = page.xpath('//p[@class="p1"][last()]/img')
for l in ls:
  print l.attrib

以上这篇Python lxml解析HTML并用xpath获取元素的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中子类继承父类的__init__方法实例
Dec 15 Python
python中defaultdict的用法详解
Jun 07 Python
Python基于OpenCV实现视频的人脸检测
Jan 23 Python
基于Python对数据shape的常见操作详解
Dec 25 Python
Python PO设计模式的具体使用
Aug 16 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
Sep 06 Python
python小程序基于Jupyter实现天气查询的方法
Mar 27 Python
聊聊python中的异常嵌套
Sep 01 Python
Python urllib库如何添加headers过程解析
Oct 05 Python
Python爬虫自动化爬取b站实时弹幕实例方法
Jan 26 Python
Python机器学习算法之决策树算法的实现与优缺点
May 13 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
Apr 12 Python
用xpath获取指定标签下的所有text的实例
Jan 02 #Python
在python中获取div的文本内容并和想定结果进行对比详解
Jan 02 #Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
Jan 02 #Python
python后端接收前端回传的文件方法
Jan 02 #Python
python requests.post带head和body的实例
Jan 02 #Python
python批量获取html内body内容的实例
Jan 02 #Python
如何在django里上传csv文件并进行入库处理的方法
Jan 02 #Python
You might like
用ADODB来让PHP操作ACCESS数据库的方法
2006/12/31 PHP
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
php curl模拟post请求和提交多维数组的示例代码
2015/11/19 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
Laravel统一错误处理为JSON的方法介绍
2020/10/18 PHP
学习YUI.Ext 第二天
2007/03/10 Javascript
jquery下利用jsonp跨域访问实现方法
2010/07/29 Javascript
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
仅img元素创建后不添加到文档中会执行onload事件的解决方法
2011/07/31 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
Node.js npm命令运行node.js脚本的方法
2018/10/10 Javascript
JavaScript实现简单轮播图效果
2018/12/01 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
2019/09/02 Javascript
layui 对table中的数据进行转义的实例
2019/09/12 Javascript
js实现掷骰子小游戏
2019/10/24 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
使用jQuery实现购物车
2020/10/29 jQuery
小程序角标的添加及绑定购物车数量进行实时更新的实现代码
2020/12/07 Javascript
[57:18]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#3VP VS VG
2016/03/03 DOTA
python中使用zip函数出现错误的原因
2018/09/28 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
Python 3.8 新功能来一波(大部分人都不知道)
2020/03/11 Python
python通过函数名调用函数的几种场景
2020/09/23 Python
域名注册、建站工具、网页主机、SSL证书:Dynadot
2017/01/06 全球购物
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
联想法国官方网站:Lenovo法国
2018/10/18 全球购物
师德师风的心得体会
2014/09/02 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技