Xpath 提取html整个元素(标签与内容)

提取html某标签中文字时,文字中含有:“<sub>2</sub>O<sub>5</sub>”,导致提取的文字不符合预期。

解决方法:

#coding=utf-8
from lxml import etree
from HTMLParser import HTMLParser

html = u‘‘‘
<html>
    <span id="chTitle">退火对Nb<sub>2</sub>O<sub>5</sub>薄膜的折射率和厚度的影响</span>
</html>
‘‘‘

tree = etree.HTML(html)

# 结果为:退火对Nb
content1 = tree.xpath("//span[@id=‘chTitle‘]/text()")[0]
print content1

# 结果为:退火对Nb<sub>2</sub>O<sub>5</sub>薄膜的折射率和厚度的影响
table = tree.xpath("//span[@id=‘chTitle‘]")[0]
content2 = etree.tostring(table, method=‘html‘)
print HTMLParser().unescape(content2)[19:-8]

原文地址:https://www.cnblogs.com/zhangtianyuan/p/8297117.html

时间: 2024-10-03 23:44:50

Xpath 提取html整个元素(标签与内容)的相关文章

xpath提取目录下所有标签内的内容 //text()

利用xpath来提取所有标签里面的内容,即使标签头不同 1 #-*-coding:utf8-*- 2 import re 3 import os 4 from lxml import etree 5 html = ''' 6 <!DOCTYPE html> 7 <html> 8 <head lang="en"> 9 <meta charset="UTF-8"> 10 <title>测试-常规用法</t

xpath提取目录下所有标签内的内容,递归 //text()

利用xpath来提取所有标签里面的内容,即使标签头不同 1 #-*-coding:utf8-*- 2 import re 3 import os 4 from lxml import etree 5 html = ''' 6 <!DOCTYPE html> 7 <html> 8 <head lang="en"> 9 <meta charset="UTF-8"> 10 <title>测试-常规用法</t

使用xpath提取页面所有a标签的href属性值

# -*- coding: utf-8 -*- #1.选取节点 #获取所有的div元素 //div #/代表获取根节点的直接子元素 #获取所有带有id属性的div //div[@id] #2.谓词(索引从1开始) #获取body下面的第一个/最后一个div元素/前两个 //body/div[1] //body/div[last()] //body/div[position<3] #获取具有class='price'属性的div标签 //div[@class='price'] #3.通配符 # *

用xpath提取xml文档指定标签的内容

1 <?xml version="1.0" encoding="UTF-8"?> 2 <书架> 3 <书> 4 <书名 name="vvvb">何茂赟自传</书名> 5 <作者>何茂赟</作者> 6 <售价>500.00</售价> 7 <售价>1234元</售价><售价>1234元</售价>&

xpath提取多个标签下的text

在写爬虫的时候,经常会使用xpath进行数据的提取,对于如下的代码: <div id="test1">大家好!</div> 使用xpath提取是非常方便的.假设网页的源代码在selector中: data = selector.xpath('//div[@id="test1"]/text()').extract()[0] 就可以把“大家好!”提取到data变量中去. 然而如果遇到下面这段代码呢? <div id="test2&

从a标签为什么不能包含div标签-了解HTML5元素分类与内容模型

我们知道按新的 HTML 规范,已经不按 inline 和 block 来区分元素类型了.所以我们在a标签里面使用div标签时候会发现a标签并不能通过改变css盒子模型的方式将div元素包含. 元素分类 HTML5中,元素主要分为7类: Metadata Flow Sectioning Heading Phrasing Embedded Interactive 这些分类集合互相之间也存在一定的交集(一个元素可以同时属于多个分类),其交集关系呈现为: 需要注意的是,HTML5中的这种元素分类与in

jmeter之Xpath提取器

首先创建线程组,添加http请求,具体的设置如图1所示: 图1 然后,再添加后置处理器中的XPath Extractor,具体的参数设置,以及表达式如图2: 图2 可以添加Debug PostProcessor,来查看xpath提取的内容是否正确. 下面是Xpath页面的参数介绍. APPly to:作用范围(返回内容的断言范围)         Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器         Main sample only:仅

APP自动化 -- 获取toast元素的文本内容

一.toast元素 1.表现形式:toast元素就是下图中  “操作成功” 那个一闪而过的标签. 2.特殊点:因为一闪而过,时间太短,用UIAutomatorView截屏截不到. 二.获取方法 1.用xpath语法获取标签的  text 属性(注意是“属性”,不像web一样,web中,text一般标签的内容:而在APP中,text是标签的属性 ). //*[contains(@text,"toast标签的文本内容")] 原文地址:https://www.cnblogs.com/mua9

Html5学习笔记1 元素 标签 属性

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>HTML5学习笔记</title> </head> <body bgcolor="#90ee90"> 1.Html5的元素<br/><br/> 元素指的是从開始标签到结束标签的全部代码<