BeautifulSoup や lxml を使用できない場合、HTML を解析するにはどうすればよいですか? SGMLlib を使用するコードがいくつかありますが、それは少し低レベルであり、現在は推奨されていません。
ほとんどの入力がかなりきれいになると確信していますが、不正な形式の HTML を少しでも食い止めることができれば幸いです。
BeautifulSoup や lxml を使用できない場合、HTML を解析するにはどうすればよいですか? SGMLlib を使用するコードがいくつかありますが、それは少し低レベルであり、現在は推奨されていません。
ほとんどの入力がかなりきれいになると確信していますが、不正な形式の HTML を少しでも食い止めることができれば幸いです。
Python にはネイティブの HTML パーサーがありますが、Nick が提案した Tidy ラッパーもおそらく堅実な選択でしょう。Tidy は非常に一般的なライブラリです (C で書かれていますか?)。
おそらくµTidylibはあなたのニーズを満たすでしょうか?
MacPorts の公式 GUIである Pallet を使用して、Mac (OS X) に lxml やその他の多くの Python モジュールを簡単かつシームレスにインストールできます。
モジュール名は py27-lxml です。1,2,3と簡単。
html5libは良いです:
http ://code.google.com/p/html5lib/
更新:上記のリンクが壊れています。上記のサードパーティミラーは、 https://github.com/html5lib/gcode-importからアクセスできます。
htql は、不正な形式の html の処理に優れています。
http://www.xmlhack.com/read.php?item=1392 http://sourceforge.net/projects/pirxx/
http://pyxml.sourceforge.net/topics/
Python の経験はあまりありませんが、過去に (Apache Foundation の) Xerces を使用したことがあり、非常に便利であることがわかりました。私はPythonの観点から来たわけではありませんが、学習曲線も悪くありません。でも検討することをお勧めします。(私が含めた最初の 2 つのリンクは、Xerces への Python インターフェースについて説明しており、最後のリンクは、"python xml" に関する最初の Google ヒットです)。