私はいくつかのランダムなHTMLを持っており、それを解析するためにBeautifulSoupを使用しましたが、ほとんどの場合(> 70%)、それは窒息します。私はBeautiful soup 3.0.8と3.2.0を使ってみましたが(3.1.0以上の問題がありました)、結果はほぼ同じです。Pythonで最も寛容なHTMLパーサーは何ですか?
私は私の頭の上から、Pythonで利用可能ないくつかのHTMLパーサのオプションを呼び出すことができます:私はこれらのすべてをテストするつもり
- BeautifulSoup
- lxmlの
- pyquery
、あなたのテストでどちらが一番寛容であるのかを知りたかったので、悪いHTMLを解析しようとすることさえできました。
これは本当に答えではないので、私はそのように投稿しているわけではありませんが、正確な理由は美しいスープが開発された理由です:悪いHTMLを解析する。あなたが美しいスープがそれを解析することすらできない、ひどく不正な形式の文書を持っているなら、あなたは運が悪いかもしれません。私が聞いたことがある他のパーザ(lxmlを含む)ははるかに厳密です。 –
も参照してください。http://stackoverflow.com/questions/1922032/parsing-html-in-python-lxml-or-beautifulsoup-which-of-the-is-better-for-what –
この目的を維持するために、それぞれのパーサーがbarfsする最小スニペットを投稿すると便利です。 – smci