# -*- coding: utf-8 -*-
#python 27
#xiaodeng
#python模块之HTMLParser之穆雪峰的案例(理解其用法原理)
#http://www.cnblogs.com/xiaowuyi/archive/2012/10/15/2721658.html #常见做法:首先,我们需要定义一个新的HTMLParser类,以覆盖handle_starttag()方法,我们将使用这个方法来显示所有标签的HRef属性值。
from HTMLParser import HTMLParser
class MyHTMLParser(HTMLParser): def handle_starttag(self, tag, attrs):
#print('<开始标签:%s>' % tag)
#print '---------some img--------'
if tag=='img':
#print attrs#[('src', 'python-logo.png'), ('alt', 'The Python logo')]
for k ,v in attrs:
print k,v
else:
pass
def handle_endtag(self, tag):
print('<结束标签:/%s>' % tag) def handle_startendtag(self, tag, attrs):
print('<%s/>' % tag) def handle_data(self, data):
print 'data:',data def handle_comment(self, data):
print '<!-- -->',data def handle_decl(self, decl):
print '文档类型声明:',decl
'''
def handle_entityref(self, name):#处理一些特殊字符,以&开头的
print('&%s;' % name) def handle_charref(self, name):#处理特殊字符串,就是以&#开头的,一般是内码表示的字符
print('&#%s;' % name)
'''
parser = MyHTMLParser()
content=''''<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
<html>
<head>
</head>
<body>
<p>Some
<a href=\"#\">html</a> tutorial...<br>END
<!-- i am Notes Content-->
<img src="python-logo.png" alt="The Python logo">
</p>
</body>
</html>
'''
import urllib
html=urllib.urlopen('http://www.163.com').read()
#parser.feed(html)
parser.feed(content)
parser.close()

python模块之HTMLParser之穆雪峰的案例(理解其用法原理)的更多相关文章

  1. python模块介绍- HTMLParser 简单的HTML和XHTML解析器

    python模块介绍- HTMLParser 简单的HTML和XHTML解析器 2013-09-11 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq ...

  2. python模块之HTMLParser(原理很大程度上就是对类构造的熟练运用)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python模块之HTMLParser(原理很大程度上就是对类构造的熟练运用) import HTMLPar ...

  3. python模块之HTMLParser抓页面上的所有URL链接

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python模块之HTMLParser抓页面上的所有URL链接 import urllib #MyParse ...

  4. python模块之HTMLParser解析出URL链接

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python模块之HTMLParser解析出URL链接 #http://www.cnblogs.com/mf ...

  5. python模块之HTMLParser

    HTMLParser是python用来解析html的模块.它可以分析出html里面的标签.数据等等,是一种处理html的简便途径. HTMLParser采用的是一种事件驱动的模式,当HTMLParse ...

  6. python模块学习---HTMLParser(解析HTML文档元素)

    HTMLParser是Python自带的模块,使用简单,能够很容易的实现HTML文件的分析. 本文主要简单讲一下HTMLParser的用法. 使用时需要定义一个从类HTMLParser继承的类,重定义 ...

  7. python模块之HTMLParser简介

    html.parser是一个非常简单和实用的库,它的核心是HTMLParser类. 工作的流程是:当你feed给它一个类似HTML格式的字符串时,它会调用goahead方法向前迭代各个标签,并调用对应 ...

  8. python模块使用案例

    python模块使用案例 一.使用MySQLdb模块代码示例: # 导入 MySQLdb模块 import MySQLdb # 和服务器建立链接,host是服务器ip,我的MySQL数据库搭建在本机, ...

  9. Python模块、包、异常、文件(案例)

    Python模块.包.异常.文件(案例) python.py #模块 # Python中的模块(Module),是一个Python文件,以.py文件结尾,包含了Python对象定义和Python语句, ...

随机推荐

  1. Check failed: mdb_status == 0 (13 vs. 0) Permission denied

    文件权限问题. chown或者chmod即可 另外注意lmdb文件的权限

  2. 用SLF4j/Logback打印日志-2

    本篇主要介绍logback的输出源配置,logback默认提供了很多输出源,但是用的最多的是这几种: OutputStreamAppender 日志输出到一个二进制流,可以通过 <encoder ...

  3. Go语言之进阶篇简单版并发服务器

    1.简单版并发服务器 示例1: package main import ( "fmt" "net" "strings" ) //处理用户请求 ...

  4. GIS原理学习目录

    GIS原理学习目录 内容提要 本网络教程是教育部“新世纪网络课程建设工程”的实施课程.系统扼要地阐述地理信息系统的技术体系,重点突出地理信息系统的基本技术及方法. 本网络教程共分八章:第一章绪论,重点 ...

  5. [leetcode]Add Binary @ Python

    原题地址:https://oj.leetcode.com/problems/add-binary/ 题意: Given two binary strings, return their sum (al ...

  6. Direct I/O,Synchronous I/O的概念

    Direct I/O概念: Direct I/O is a way to avoid entire caching layer in the kernel and send the I/O direc ...

  7. 字符串 CSV解析 表格 逗号分隔值 通讯录 电话簿 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  8. 网页重构应该避免的10大 CSS 糟糕用法

    对于网页重构来说,CSS禅意花园 是网页布局从 table 表格转到了 html +css 的标志 .这些年来,随着我们的网站越来越复杂:html5,css3,新的技术.新的属性,越来越多的开发者开始 ...

  9. fn:replace()函数

    fn:replace()函数将字符串中所有指定的子串用另外的字符串替换. 语法 fn:replace()函数的语法如下: ${fn:replace(<原始字符串>, <被替换的字符串 ...

  10. 老猪带你玩转android自定义控件二——自定义索引栏listview

    带索引栏的listview,在android开发非常普遍,方便用户进行字母索引,就像微信通讯录这样: 今天,我们就从零到一实现这个具有索引栏的listview. 怎么实现这个控件了,我们应当梳理出一个 ...