Chinaunix首页 | 论坛 | 博客
  • 博客访问: 374971
  • 博文数量: 73
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2469
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-16 23:51
个人简介

活泼开朗是我的特性。

文章分类
文章存档

2014年(27)

2013年(46)

分类: 网络与安全

2013-08-13 09:32:25

在数据采集时,处理不规范的HTML页面是件令人头疼的事。因为不规范的HTML页面往往会引起xpath解析失败,造成得不到正确的数据。

了解Firebug的人都知道,它的HTML视图下有一个巧妙的功能,能够自动修复不规范的HTML,以规范的形式展现。

例如,如下的一个不规范的HTML页面:


 
 
name
 
age
redice
 
25

 
我们看一下它在Firebug下的显示内容:
 
 
有没有能实现类似Firebug这种规范化HTML的Python库呢?
 
有。经过查找、测试,最终发现PyTidyLib库可以很好地实现这个功能。
 

 
下面是PyTidyLib库的一个测试:
 
>>> html = open('c:/html_invalid.html').read()
>>> print html



name
age
redice
25

>>> from tidylib import tidy_document
>>> document, errors = tidy_document(html)
>>> print document
    "">

 
   
 
 
   
     
       
       
     
     
       
       
     
   

          name
       

          age
       

          redice
       

          25
       

 
阅读(1362) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~