提取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]

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

  1. Python——XPath提取某个标签下所有文本

    /text()获取指定标签下的文本内容,//text()获取指定标签下的文本内容,包括子标签下的文本内容,比较简单的是利用字符串相加: room_infos = li.xpath('.//a[@cla ...

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

    利用xpath来提取所有标签里面的内容,即使标签头不同 #-*-coding:utf8-*- import re import os from lxml import etree html = ''' ...

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

    # -*- coding: utf-8 -*- #1.选取节点 #获取所有的div元素 //div #/代表获取根节点的直接子元素 #获取所有带有id属性的div //div[@id] #2.谓词(索 ...

  4. xpath提取多个标签下的text

    title: xpath提取多个标签下的text author: 青南 date: 2015-01-17 16:01:07 categories: [Python] tags: [xpath,Pyth ...

  5. Python——XPath使用

    一:XPath介绍 XPath全称XML路径语言,用于确定XML文档中某部分位置.XPath基于XML树状结构,在树中寻找结点. 现在,一般使用XPath在XML中查找.提取信息,同时,它也支持HTM ...

  6. 15-糗事百科(python+xpath)

    爬取糗事百科的段子: 1.用xpath分析首要爬去内容的表达式: 2.用发起请求,获得原码: 3.用xpath分析源码,提取有用信息: 4.由python格式转为json格式,写入文件 #_*_ co ...

  7. Python Xpath语法

    Python    Xpath语法   一.选取节点 常用的路劲表达式: 表达式 描述 实例   nodename 选取nodename节点的所有子节点 xpath('//div') 选取了div节点 ...

  8. 使用python+xpath 获取https://pypi.python.org/pypi/lxml/2.3/的下载链接

    使用python+xpath 获取https://pypi.python.org/pypi/lxml/2.3/的下载链接: 使用requests获取html后,分析html中的标签发现所需要的链接在& ...

  9. 使用DOM4J解析XML文档,以及使用XPath提取XML文档

    使用DOM4J解析XML文档 需要首先下载DOM4J工具包.这是个第三方工具包 在使用DOM4J解析的时候需要导入 DOM4J的JAR包 下载DOM4J工具包->在MyEclipse中新建lib ...

随机推荐

  1. Jenkins安装配置过程及问题详解

    1:去官网下载jenkins.war包. 官网地址:http://Jenkins-ci.org/ 下载win版 官网镜像地址:http://mirrors.jenkins-ci.org/war-sta ...

  2. Anaconda 2和3在Win10上共存

    1. 安装Anaconda 2和3 Anaconda 2中的python2为主,Anaconda 3中的python3为辅.先装Anaconda 2,并在安装时选择注册为系统python,再装Anac ...

  3. ios的概述和了解的个人总结

    ios的概述: ios  为apple手持设备系统: OS X 为apple的macbook.imac.mac min等的操作系统: 应用程序的格式:dmg    pkg   app iphone 第 ...

  4. src2中的alpha融合ROI

    #include <cv.h> #include <highgui.h> int main(int argc, char** argv) { IplImage *src1,*s ...

  5. Spring MVC 基础篇4

    Spring MVC Controller中返回数据到页面 1.使用ModelAndView 进行数据返回到请求页面 2.利用Map类型的入参进行Controller返回到页面上 3.将数据放到Ses ...

  6. laravel获取checkbox值的小技巧

    以前老是用三元运算符来判断,现在有了更好的方法: 1.html代码 <input type="hidden" name="approved" value= ...

  7. Delphi Socket通信及多线程编程总结

    http://cxhblog.blog.sohu.com/41930676.html 一.Socket通信: Delphi在ScktComp单元中对WinSock进行了封装,该单元提供了TAbstra ...

  8. Ubuntu 16.04 win7 双系统时间问题

    在安装了win7的电脑上又装了一个Ubuntu 16.04,这Ubuntu的启动速度慢就选不说了,切加win7之后发现时间也不对啊. 所以记一个随笔记录一下自己修改双系统的日期. 当然,网上也搜过,说 ...

  9. Windows下python的第三方库的安装

    D:\Python27\Scripts\pip.exe install beautifulsoup4

  10. IntelliJ IDEA 常用设置/快捷键

    经常用到 IntelliJ IDEA 编写java,由于不时需要重装系统,所以Mark一下一些基本的设置选项,以便查询,这篇帖子会一直更新,只要有常用的新的设置或者快捷键 一.常用设置 显示代码行号 ...