Loading

BeautifulSoup解析器的选择

BeautifulSoup解析器

在我们使用BeautifulSoup的时候,选择怎样的解析器是至关重要的。使用不同的解析器有可能会出现不同的结果!
今天遇到一个坑,在解析某html的时候。使用html.parser解析器自己将table标签截断了(当然这与html本身有直接关系)
原html如下

































排序



中标候选人名称



投标报价



质量



工期/交货期



1





西安大唐电信有限公司






RMB8,029,283.00






合格






满足招标文件要求




2















3















渲染效果为

排序

中标候选人名称

投标报价

质量

工期/交货期

1

西安大唐电信有限公司

RMB8,029,283.00

合格

满足招标文件要求

2

3

但是使用html.parser解释器的话html修改为了
















排序



中标候选人名称



投标报价



质量



工期/交货期



1





西安大唐电信有限公司




渲染效果为

排序

中标候选人名称

投标报价

质量

工期/交货期

1

西安大唐电信有限公司

BeautifulSoup官方推荐使用lxml

推荐使用lxml作为解析器,因为效率更高. 在Python2.7.3之前的版本和Python3中3.2.2之前的版本,必须安装lxml或html5lib, 因为那些Python版本的标准库中内置的HTML解析方法不够稳定.
提示: 如果一段HTML或XML文档格式不正确的话,那么在不同的解析器中返回的结果可能是不一样的,查看 解析器之间的区别 了解更多细节

官方文档关于解析器的安装使用(中文)
官方文档关于解析器的详细区别(中文)

posted @ 2018-09-26 16:07  ChnMig  阅读(2403)  评论(0)    收藏  举报