前端开发

 首页 > 前端开发 > css教程 > 使用HTMLParser 解析html - html/css语言栏目:html.css

使用HTMLParser 解析html - html/css语言栏目:html.css

分享到:
【字体:
导读:
          python里面的HTMLParser解析html,跟c 43; 43;和其他语言的html库解析不同,是使用类继承的方式。通过重实现HTMLParser类的几个函数,来达到解析html的目的。主要的重载的函数有:handle_startta...

python里面的HTMLParser解析html,跟c++和其他语言的html库解析不同,是使用类继承的方式。

通过重实现HTMLParser类的几个函数,来达到解析html的目的。

主要的重载的函数有:

handle_starttag #开始标签的解析

handle_endtag #结束标签的解析

handle_data #标签内数据的解析


下面通过一个例子看学习下具体的使用(这个例子是python主页上的一个例子):

from html.parser import HTMLParser

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)

parser = MyHTMLParser()
parser.feed('Test'
            '

Parse me!

')

源html为:

 
  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
现在标签内容都能解析了。


总结:

1)继承HTMLParser类

class MYParser(HTMLParser):

2)def handle_starttag(self, tag, attrs) #重定义解析开始标签,tag为标签,attrs是标签的属性及属性值:是个dict

#这儿有一个例子,提取网页中的网址

3) def handle_endtag(self, tag): #重定义解析结束标签

4)def handle_data(self, data): #重定义解析数据



分享到:
CSS 边框 阴影 效果 - html/css语言栏目...
CSS 边框 阴影 效果 下面将css实现阴影效果,以便需要朋友们,直接上代码 #shadow1{ width: 200px; height: 100px; color: white; background-color: red; box-shadow: 5px -5px 1px 1px #000; -webkit-box-shadow:5px -5px 1px 1px #000; -moz-box-shadow:5px 5px 1px 1px #000; /* For IE 8 */ -ms-filter: progi...
MVC4中AJAX Html页面打开调用后台方法实...
之前一直用window.onload方法来调用js方法来实现,今天纠结能不能换个方法实现。 很明显是可以的。 在html前台页面引用js代码如下 @Scripts.Render("~/Scripts/User/AddUser.js") 这就算引用了,看adduser.js代码如果调用后台方法 $(document).ready( function (){ $.ajax({ type: 'P...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……