使用Python 2.7解析HTML - HTMLParser,SGMLParser或Beautiful Soup?

Eri*_*son 16 html python parsing beautifulsoup html-parsing

我想要做一些屏幕抓取与Python 2.7,以及我对之间的差异没有上下文HTMLParser,SGMLParser或者美味的汤.

这些都试图解决同样的问题,还是因为不同的原因而存在?哪个最简单,最强大,哪个(如果有的话)是默认选择?

另外,如果我忽略了一个重要选项,请告诉我.

编辑:我应该提一下,我在HTML解析方面并不是特别有经验,而且我特别感兴趣的是哪个会让我最快速地移动,目标是在一个特定网站上解析HTML.

tis*_*hon 14

我正在使用并建议使用lxmlpyquery来解析HTML.几个月前我不得不写一个网络抓取机器人和我尝试的所有流行的替代品,包括HTMLParserBeautifulSoup,我使用了lxmlpyquery的语法糖.我没有尝试过SGMLParser.

对于我所看到的,lxml或多或少是功能最丰富的库,与其替代品相比,它的底层C核心非常高效.至于pyquery,我真的很喜欢它的jQuery启发语法,这使得导航DOM更加愉快.

以下是您可能会发现有用的资源,以便您决定尝试一下:

好吧,那是我的2c :)我希望这会有所帮助.


Ned*_*der 6

BeautifulSoup特别适用于野外发现的脏HTML.它会解析任何旧的东西,但速度很慢.

这些天非常受欢迎的选择是lxml.html,它很快,如果需要可以使用BeautifulSoup.