【问题标题】:Is there a native HTML parsing module for Python 3.2?Python 3.2 是否有本机 HTML 解析模块?
【发布时间】:2011-05-03 19:33:17
【问题描述】:

我正在尝试解析一些 html。我想要sgmllib 之类的东西,但它在 python 3.2 中已被弃用。

是否有我可以使用的替代模块?

谢谢。

【问题讨论】:

    标签: python html python-3.x


    【解决方案1】:

    内置 HTMLParser 模块: http://docs.python.org/py3k/library/html.parser.html

    不是本地人,但值得一提; 美丽汤: http://www.crummy.com/software/BeautifulSoup/

    【讨论】:

    • Beautiful Soup +1,因为现实世界的 HTML 是一团糟。 BS 只是随你扔给它的任何废话滚动,然后微笑起来。
    • @Peter:不幸的是,BeautifulSoup 在 Python 3 上运行得不是很好,因为它依赖于 sgmllib。我摆弄着让它与较新的 html5lib 一起工作,但它并不完整。 code.launchpad.net/~takowl/beautifulsoup/3kcode.google.com/r/takowl-html5lib(如果您有兴趣,请随时努力)。
    • 完美。我想我会使用 HTMLParser,因为它与sgmllib 非常相似。我还阅读了很多关于 BeautifulSoup 的内容,人们抱怨 Python 3 的兼容性问题。谢谢。
    • 在该页面上说 Python 3.1 存在问题,但在 3.2 中已修复:crummy.com/software/BeautifulSoup/3.1-problems.html
    • @utdmr:不幸的同时发生 - 这些是 BeautifulSoup 本身的版本号。 BS 3.2 与 Python 3.x 不兼容。只有 BS 3.1,即有问题的版本,在 Python 3.x 上运行。
    【解决方案2】:

    不知道你说的原生是什么意思,但我是lxml 的忠实粉丝。

    【讨论】:

    • +1 我认为 lxml 更好:更灵活、更快。尤其是与 Twisted 一起使用时。
    猜你喜欢
    • 1970-01-01
    • 2011-06-06
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 2013-11-28
    • 2011-01-08
    • 2012-02-06
    相关资源
    最近更新 更多