html取元素的文本,解析HTML以获取元素内的文本
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以获取元素内的文本相关推荐
- python文本解析_如何通过python进行文本解析?
我希望使用python解析数据,以便将其导入Excel电子表格中.我需要一些帮助来实现过程的自动化.文件内容包括:ok: [wrt02.test1] => { "msg": ...
- rust nom 一个文本解析器的使用
rust nom 一个文本解析器的使用 简述 版本 早期版本 新的改变 常用的几个解析器.组合器 后续 简述 nom, 是 一个Rust 的文本解析器库,它的运行消耗低.速度快,针对一些文本的解析非常 ...
- 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. ...
- HTML基本语法之表单标签:表单的组成 ,表单域,表单控件元素(表单元素) ,input表单元素, label标签, 表单控件(表单元素), select表单元素, textarea表单元素
文章目录 表单标签 表单的组成 表单域 常用属性: 表单控件元素(表单元素) input表单元素 label标签 表单控件(表单元素) select表单元素 textarea表单元素 表单元素几个总结 ...
- C语言实现json文本解析
C语言实现json文本解析 背景 总体方法 实现源码 相关资料 背景 项目中,有时需要根据外部输入条件,进行程序的灵活切换,运用JSON文件解析,能高效的替换指令行输入,且直观易懂. 总体方法 JSO ...
- 使用爬虫爬取两种数据:结构化/非结构化文本
一.非结构化文本的爬取 微博上有一篇关于"#学校里的男生有多温柔#"的话题,点进去一看感觉评论很真实,于是想把评论给爬下来看一看,并生成词云.刚开始思路是通过网页端微博爬取,通过开 ...
- 抓取网页数据并解析Android
抓取网页数据并解析 标签: 网页抓取jsoupAndroid 2016-03-02 13:54 1262人阅读 评论(1) 收藏 举报 分类: Android开发(原创)(7) 版权声明:本文为博 ...
- 网页文本解析利器“美丽汤”
入门教程.案例源码.学习资料.读者群 请访问: python666.cn 大家好,欢迎来到 Crossin的编程教室 ! 关于爬虫的案例和方法,我们已讲过许多.不过在以往的文章中,大多是关注在如何把网 ...
- CSS实现元素居中原理解析
原文:CSS实现元素居中原理解析 在 CSS 中要设置元素水平垂直居中是一个非常常见的需求了.但就是这样一个从理论上来看似乎实现起来极其简单的,在实践中,它往往难住了很多人. 让元素水平居中相对比较简 ...
最新文章
- python any()和all()用法
- android 摇一摇监听,Android摇一摇功能实现(摇一摇监听)
- 下列不是python对文件的读操作方法是-大工20春《数据挖掘》在线作业1【参考答案】...
- pythonのgevent同步异步区别
- 第三次作业-结对编程
- miniui页面移动的时候透明_【H5】316 移动端H5跳坑指南
- 理论基础 —— 二叉树 —— 三叉链表
- 论文中引用的标注方法
- pca各个向量之间的相关度_机器学习十大经典算法之PCA主成分分析
- HTML5 Web Storage -- 让Cookies看起来如此古老
- 【人脸表情识别】基于matlab PCA+SVM人脸表情识别评分系统【含Matlab源码 593期】
- 0-9 倒计时 8x8 点阵 实现
- php导出excel不完整,急:php导出excel时,因数据比较多,经常导出不完整就结束了【php系统数据导出excel表格】...
- python 批量视频转换成图片
- retrofit原理面试,2021最新百度、头条等公司Android社招面试题目,含答案解析
- Linux系统管理-开机启动流程
- ijKPlayer - 视频直播
- 处理器最新排行_CPU跑分工具CINBENCH R23排行榜出炉:AMD锐龙单核、多核均屠榜
- 英伟达光追支持Java吗,英伟达新显卡驱动发布 GTX 10系显卡现已支持光追
- Mac百度云盘不限速操作步骤
热门文章
- Tarjan点的双联通(寻找割点)
- [转] 面向对象编程 - 访问限制
- python测试系列教程——python+Selenium+chrome自动化测试框架
- 用自己的数据集训练Mask-RCNN实现过程中的坑
- 8255工作方式2——双向选通输入输出(A口)
- 贺利坚老师汇编课程54笔记:OF溢出标志OVERFLOW FLAG
- 前端面试之那些稀奇古怪的问题
- GMA Round 1 三视图
- Codeforces Round #415 (Div. 2) C. Do you want a date?
- wuzhicms内的全局函数--load_class()