27

BeautifulSoup や lxml を使用できない場合、HTML を解析するにはどうすればよいですか? SGMLlib を使用するコードがいくつかありますが、それは少し低レベルであり、現在は推奨されていません。

ほとんどの入力がかなりきれいになると確信していますが、不正な形式の HTML を少しでも食い止めることができれば幸いです。

4

6 に答える 6

10

Python にはネイティブの HTML パーサーがありますが、Nick が提案した Tidy ラッパーもおそらく堅実な選択でしょう。Tidy は非常に一般的なライブラリです (C で書かれていますか?)。

于 2009-04-04T20:00:52.927 に答える
2

おそらくµTidylibはあなたのニーズを満たすでしょうか?

于 2009-04-04T18:14:20.560 に答える
2

MacPorts の公式 GUIである Pallet を使用して、Mac (OS X) に lxml やその他の多くの Python モジュールを簡単かつシームレスにインストールできます。

モジュール名は py27-lxml です。1,2,3と簡単。

于 2012-06-27T17:37:16.193 に答える
1

html5libは良いです:
http ://code.google.com/p/html5lib/

更新:上記のリンクが壊れています。上記のサードパーティミラーは、 https://github.com/html5lib/gcode-importからアクセスできます。

于 2010-06-04T11:51:24.057 に答える
1

htql は、不正な形式の html の処理に優れています。

http://htql.net/

于 2011-03-23T14:25:04.993 に答える
1

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 ヒットです)。

于 2009-04-04T18:29:55.640 に答える