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

yipeiwu_com7年前Python基础

代码

使用方法见注释

#-*- 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实现京东秒杀功能

本文实例为大家分享了python实现京东秒杀的具体代码,供大家参考,具体内容如下 # _*_coding:utf-8_*_ from selenium import webdriv...

Python Numpy库datetime类型的处理详解

Python Numpy库datetime类型的处理详解

前言 关于时间的处理,Python中自带的处理时间的模块就有time 、datetime、calendar,另外还有扩展的第三方库,如dateutil等等。通过这些途径可以随心所欲地用P...

Python中实现单例模式的n种方式和原理

在Python中如何实现单例模式?这可以说是一个经典的Python面试题了。这回我们讲讲实现Python中实现单例模式的n种方式,和它的原理。 什么是单例模式 维基百科 中说: 单例模式...

Python3.5实现的三级菜单功能示例

本文实例讲述了Python3.5实现的三级菜单功能。分享给大家供大家参考,具体如下: 程序:三级菜单 要求:      1. 打印省、市、县三级菜...

pycharm编写spark程序,导入pyspark包的3中实现方法

一种方法: File --> Default Setting --> 选中Project Interpreter中的一个python版本-->点击右边锯齿形图标(设置)...