大量のダウンロードされたWebページHTML(120Kページ)を処理するPythonスクリプトを書きました。私はそれらを解析し、そこからいくつかの情報を抽出する必要があります。私はBeautifulSoupを使ってみましたが、これは簡単で直感的ですが、ゆっくりと超高速に動作するようです。これは弱いマシン(アマゾンで)で日常的に動作する必要があるため、速度が重要です。 BeautifulSoupよりもはるかに高速に動作するPythonのHTML/XMLパーサーがありますか?または私は正規表現の解析に頼る必要があります..高速python HTMLパーサ
9
A
答えて
13
lxmlのは、高速なXMLおよびHTMLパーサーです:http://lxml.de/parsing.html
0
try:ElementTreeは速くなるかもしれませんが、わかりません。
xml.etree.ElementTree import ElementTree
+0
私もこれを提案しようとしていましたが、私はBeautifulSoupに対してこれのパフォーマンス比をサポートするデータがありません – inspectorG4dget
3
SAXスタイルのパーサは、DOMベースのものより高速になります。あなたのコードには要素のストリームが与えられており、その関係を推測(そして潜在的に格納)しなければなりません。必要なデータを取得するのに必要なだけの状態を維持する必要があります。対照的に、DOMスタイルのパーサーは、ナビゲート可能なオブジェクトモデルを構築する必要があります。これには、おそらく使用する必要のない時間(およびメモリ)が必要です。
PythonにはHTML用のパーサーがあります。 HTMLParser
(Python 3ではhtml.parser
)と呼ばれています。しかし、抽出したいデータを認識するのがどれほど難しいかによっては、そのような解析をうまく争うことは非常に難しいかもしれません。サンプルファイルを投稿して、そこから抽出したいデータがあるとしたら、おそらく駄目になる可能性があります。
関連する問題
- 1. 高速Python MySQL
- 2. 分散/高速のPythonユニットテスト
- 3. Pythonの高速pingスイープ
- 4. Python - 高速ファイル検索
- 5. Pythonの高速素数篩
- 6. Python高速単色ビットマップ
- 7. PHP HTML DOMパーサ
- 8. PHPのHTMLパーサのパフォーマンス
- 9. Pythonのパーサが
- 10. HTMLからPHPパーサ
- 11. htmlアジリティパックで解析を高速化
- 12. PHP Domドキュメントのhtmlは高速ですか、preg_match_all関数が高速ですか?
- 13. python/numpyでデルタフィルタを高速化する
- 14. pythonとopencvでの高速コンポーネントラベリング
- 15. Pythonでの高速バイナリデータ変換
- 16. Python/Cythonループを高速化します。
- 17. WindowsでのPythonアクセスの高速化
- 18. Pythonのパレートフロントの高速計算
- 19. 高速なPythonフロントリストの拡張
- 20. Numpy/Pythonでのパフォーマンスの高速処理
- 21. Pythonのページのリンクを高速に解析する
- 22. 特定のJava HTMLパーサ
- 23. ジャバスクリプト対応のHTMLパーサ〜
- 24. シンプルなHTML DOMパーサ - 私はシンプルなHTML PHPのDOMパーサを持って
- 25. C/Pythonのasn.1パーサ
- 26. 高速Javascriptテーブルソーターですか?
- 27. 高速道
- 28. 高速代替
- 29. 高速ローカルデータベース
- 30. C#高速ピクセルレンダリング
[pony away ...](http://stackoverflow.com/a/1732454/554546) –
PythonでHTMLを解析する経験はありませんが、[こちら](http://blog.ianbicking .org/2008/03/30/python-html-parser-performance /)は役に立つかもしれないベンチマーク結果です。 –
[正規表現とHTML ==失敗](http://stackoverflow.com/a/1732454/554546) –