最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

在Python中使用HTMLParser解析HTML的教程

来源:动视网 责编:小采 时间:2020-11-27 14:41:48
文档

在Python中使用HTMLParser解析HTML的教程

在Python中使用HTMLParser解析HTML的教程:如果我们要编写一个搜索引擎,第一步是用爬虫把目标网站的页面抓下来,第二步就是解析该HTML页面,看看里面的内容到底是新闻、图片还是视频。 假设第一步已经完成了,第二步应该如何解析HTML呢? HTML本质上是XML的子集,但是HTML的语法没有XML那么严格,
推荐度:
导读在Python中使用HTMLParser解析HTML的教程:如果我们要编写一个搜索引擎,第一步是用爬虫把目标网站的页面抓下来,第二步就是解析该HTML页面,看看里面的内容到底是新闻、图片还是视频。 假设第一步已经完成了,第二步应该如何解析HTML呢? HTML本质上是XML的子集,但是HTML的语法没有XML那么严格,


如果我们要编写一个搜索引擎,第一步是用爬虫把目标网站的页面抓下来,第二步就是解析该HTML页面,看看里面的内容到底是新闻、图片还是视频。

假设第一步已经完成了,第二步应该如何解析HTML呢?

HTML本质上是XML的子集,但是HTML的语法没有XML那么严格,所以不能用标准的DOM或SAX来解析HTML。

好在Python提供了HTMLParser来非常方便地解析HTML,只需简单几行代码:

from HTMLParser import HTMLParser
from htmlentitydefs import name2codepoint

class MyHTMLParser(HTMLParser):

 def handle_starttag(self, tag, attrs):
 print('<%s>' % tag)

 def handle_endtag(self, tag):
 print('' % tag)

 def handle_startendtag(self, tag, attrs):
 print('<%s/>' % tag)

 def handle_data(self, data):
 print('data')

 def handle_comment(self, data):
 print('')

 def handle_entityref(self, name):
 print('&%s;' % name)

 def handle_charref(self, name):
 print('&#%s;' % name)

parser = MyHTMLParser()
parser.feed('

Some html tutorial...
END

')

feed()方法可以多次调用,也就是不一定一次把整个HTML字符串都塞进去,可以一部分一部分塞进去。

特殊字符有两种,一种是英文表示的 ,一种是数字表示的Ӓ,这两种字符都可以通过Parser解析出来。
小结

找一个网页,例如https://www.python.org/events/python-events/,用浏览器查看源码并复制,然后尝试解析一下HTML,输出Python官网发布的会议时间、名称和地点。

文档

在Python中使用HTMLParser解析HTML的教程

在Python中使用HTMLParser解析HTML的教程:如果我们要编写一个搜索引擎,第一步是用爬虫把目标网站的页面抓下来,第二步就是解析该HTML页面,看看里面的内容到底是新闻、图片还是视频。 假设第一步已经完成了,第二步应该如何解析HTML呢? HTML本质上是XML的子集,但是HTML的语法没有XML那么严格,
推荐度:
标签: 教程 在使用 html
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top