python html5lib_如何使用Python模块 html5lib

本文介绍了如何使用Python的html5lib模块来解析和序列化HTML5网页。首先导入所需的库,然后创建HTML5解析器,接着通过urllib2获取网页内容,并用解析器将其转换为树结构。之后,建立树遍历器和序列化器,遍历树结构并打印输出到控制台。
摘要由CSDN通过智能技术生成

匿名用户

1级

2016-07-15 回答

打开 IDLE,将会显示一个空白的界面.

在顶行输入以下代码以导入 "html5lib" 模块:

import html5lib

from html5lib import treebuilders, treewalkers, serializer

import urllib2

创建一个新的 HTML 5 parser, 用来读取一个 HTML website. 输入以下代码声明一个新的 parser:

parser = html5lib.HTMLParser()

通过传递地址到 urllib2.urlopen 函数来打开一个网站,例如, 如果你要打开 "www.example.com", 输入以下代码:

url = urllib2.urlopen("http://www.example.com").read()

传递网站到 HTML 5 parser 来接收到一个 tree representation. 保存这个 representation 到一个变量 "tree" 中, 代码如下:

tree = parser.parse(url)

创建一个 tree walker 如下:

treeWalker = treewalkers.getTreeWalker("dom")

使用这个treewalker遍历整个 tree.这个 tree walker 将返回一个覆盖该html5网站的信息流. 遍历整个tree的代码如下:

stream = treeWalker(tree)

序列化信息流以便你输出到console.你可以使用以下2条语句来序列化信息流:

serial = serializer.htmlserializer.HTMLSerializer(omit_optional_tags=False)

output = serial.serialize(stream)

对信息流的序列化输出遍历如下:

for element in output:

在上面一句后面缩进下面的语句,并写上一个打印函数如下:

print(element)

按F5执行程序.脚本将打开并解析一个 HTML 5 网页. 脚本然后序列化页面的树形结构并输出到console. 输出可能会因为你选择的网页不同而有所变化,可能会类似于下面的东西:

Welcome to a web page!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值