python的html5lib库的版本号有什么故事吗

 我来答
好程序员
2017-03-18 · HTML5前端培训/大数据培训/Java
好程序员
好程序员是IT高端课程培训基地,从平凡到卓越,为梦想而拼搏。
向TA提问
展开全部
打开 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!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式