LISTERINE..

38

此代码取自python docs

from HTMLParser import HTMLParser

# create a subclass and override the handler methods

class MyHTMLParser(HTMLParser):

def handle_starttag(self, tag, attrs):

print "Encountered a start tag:", tag

def handle_endtag(self, tag):

print "Encountered an end tag :", tag

def handle_data(self, data):

print "Encountered some data :", data

# instantiate the parser and fed it some HTML

parser = MyHTMLParser()

parser.feed('

Test'

'

Parse me!

')

结果如下:

Encountered a start tag: html

Encountered a start tag: head

Encountered a start tag: title

Encountered some data : Test

Encountered an end tag : title

Encountered an end tag : head

Encountered a start tag: body

Encountered a start tag: h1

Encountered some data : Parse me!

Encountered an end tag : h1

Encountered an end tag : body

Encountered an end tag : html

使用它并查看HTMLParser中的代码我想出了这个:

class myhtmlparser(HTMLParser):

def __init__(self):

self.reset()

self.NEWTAGS = []

self.NEWATTRS = []

self.HTMLDATA = []

def handle_starttag(self, tag, attrs):

self.NEWTAGS.append(tag)

self.NEWATTRS.append(attrs)

def handle_data(self, data):

self.HTMLDATA.append(data)

def clean(self):

self.NEWTAGS = []

self.NEWATTRS = []

self.HTMLDATA = []

你可以像这样使用它:

from HTMLParser import HTMLParser

pstring = source_code = """Martin Elias"""

class myhtmlparser(HTMLParser):

def __init__(self):

self.reset()

self.NEWTAGS = []

self.NEWATTRS = []

self.HTMLDATA = []

def handle_starttag(self, tag, attrs):

self.NEWTAGS.append(tag)

self.NEWATTRS.append(attrs)

def handle_data(self, data):

self.HTMLDATA.append(data)

def clean(self):

self.NEWTAGS = []

self.NEWATTRS = []

self.HTMLDATA = []

parser = myhtmlparser()

parser.feed(pstring)

# Extract data from parser

tags = parser.NEWTAGS

attrs = parser.NEWATTRS

data = parser.HTMLDATA

# Clean the parser

parser.clean()

# Print out our data

print tags

print attrs

print data

现在,您应该能够轻松地从这些列表中提取数据.我希望这有帮助!

html取元素的文本,解析HTML以获取元素内的文本相关推荐

  1. python文本解析_如何通过python进行文本解析?

    我希望使用python解析数据,以便将其导入Excel电子表格中.我需要一些帮助来实现过程的自动化.文件内容包括:ok: [wrt02.test1] => { "msg": ...

  2. rust nom 一个文本解析器的使用

    rust nom 一个文本解析器的使用 简述 版本 早期版本 新的改变 常用的几个解析器.组合器 后续 简述 nom, 是 一个Rust 的文本解析器库,它的运行消耗低.速度快,针对一些文本的解析非常 ...

  3. Shell 编程之正则表达式与文本处理器--(grep,egrep 与文本处理器-sed、awk、sort、uniq、tr)

    文章目录 一.正则表达式 1.1 正则表达式概述 1.1.1 正则表达式的定义 1.1.2 正则表达式用途 1.2 基础正则表达式 1.3 基础正则表达式:grep命令 1.3.1 查找特定字符 1. ...

  4. HTML基本语法之表单标签:表单的组成 ,表单域,表单控件元素(表单元素) ,input表单元素, label标签, 表单控件(表单元素), select表单元素, textarea表单元素

    文章目录 表单标签 表单的组成 表单域 常用属性: 表单控件元素(表单元素) input表单元素 label标签 表单控件(表单元素) select表单元素 textarea表单元素 表单元素几个总结 ...

  5. C语言实现json文本解析

    C语言实现json文本解析 背景 总体方法 实现源码 相关资料 背景 项目中,有时需要根据外部输入条件,进行程序的灵活切换,运用JSON文件解析,能高效的替换指令行输入,且直观易懂. 总体方法 JSO ...

  6. 使用爬虫爬取两种数据:结构化/非结构化文本

    一.非结构化文本的爬取 微博上有一篇关于"#学校里的男生有多温柔#"的话题,点进去一看感觉评论很真实,于是想把评论给爬下来看一看,并生成词云.刚开始思路是通过网页端微博爬取,通过开 ...

  7. 抓取网页数据并解析Android

    抓取网页数据并解析 标签: 网页抓取jsoupAndroid 2016-03-02 13:54 1262人阅读 评论(1) 收藏 举报  分类: Android开发(原创)(7)  版权声明:本文为博 ...

  8. 网页文本解析利器“美丽汤”

    入门教程.案例源码.学习资料.读者群 请访问: python666.cn 大家好,欢迎来到 Crossin的编程教室 ! 关于爬虫的案例和方法,我们已讲过许多.不过在以往的文章中,大多是关注在如何把网 ...

  9. CSS实现元素居中原理解析

    原文:CSS实现元素居中原理解析 在 CSS 中要设置元素水平垂直居中是一个非常常见的需求了.但就是这样一个从理论上来看似乎实现起来极其简单的,在实践中,它往往难住了很多人. 让元素水平居中相对比较简 ...

最新文章

  1. python any()和all()用法
  2. android 摇一摇监听,Android摇一摇功能实现(摇一摇监听)
  3. 下列不是python对文件的读操作方法是-大工20春《数据挖掘》在线作业1【参考答案】...
  4. pythonのgevent同步异步区别
  5. 第三次作业-结对编程
  6. miniui页面移动的时候透明_【H5】316 移动端H5跳坑指南
  7. 理论基础 —— 二叉树 —— 三叉链表
  8. 论文中引用的标注方法
  9. pca各个向量之间的相关度_机器学习十大经典算法之PCA主成分分析
  10. HTML5 Web Storage -- 让Cookies看起来如此古老
  11. 【人脸表情识别】基于matlab PCA+SVM人脸表情识别评分系统【含Matlab源码 593期】
  12. 0-9 倒计时 8x8 点阵 实现
  13. php导出excel不完整,急:php导出excel时,因数据比较多,经常导出不完整就结束了【php系统数据导出excel表格】...
  14. python 批量视频转换成图片
  15. retrofit原理面试,2021最新百度、头条等公司Android社招面试题目,含答案解析
  16. Linux系统管理-开机启动流程
  17. ijKPlayer - 视频直播
  18. 处理器最新排行_CPU跑分工具CINBENCH R23排行榜出炉:AMD锐龙单核、多核均屠榜
  19. 英伟达光追支持Java吗,英伟达新显卡驱动发布 GTX 10系显卡现已支持光追
  20. Mac百度云盘不限速操作步骤

热门文章

  1. Tarjan点的双联通(寻找割点)
  2. [转] 面向对象编程 - 访问限制
  3. python测试系列教程——python+Selenium+chrome自动化测试框架
  4. 用自己的数据集训练Mask-RCNN实现过程中的坑
  5. 8255工作方式2——双向选通输入输出(A口)
  6. 贺利坚老师汇编课程54笔记:OF溢出标志OVERFLOW FLAG
  7. 前端面试之那些稀奇古怪的问题
  8. GMA Round 1 三视图
  9. Codeforces Round #415 (Div. 2) C. Do you want a date?
  10. wuzhicms内的全局函数--load_class()