私はhtmlで解析する必要がありますが、htmlを修正するためにPython解析ライブラリは必要ありません。使用するツールやメソッドに関する提案(Pythonで)?私の状況では、htmlが不正であれば、スクリプトは処理を終了する必要があります。私はBeautifulSoupを試しましたが、修正したくないものを修正しました。私は、テンプレートファイルを解析し、別の変換されたテンプレートスタイルを出力するツールを作成しています。HTMLパーサーHTMLを修正せずにPythonで
答えて
私はBeautifulStoneSoupはあなたがselfclosingタグのリスト
に渡す場合BeautifulStoneSoupの最も一般的な欠点は、それが タグをselfclosingについて知っていないということですこれを行うことができると信じて。 HTMLにはセルフクローズの固定されたセット タグがありますが、XMLではDTDの内容に依存します。あなたはコンストラクタにselfClosingTags引数として に自分の名前を渡すことで特定のタグが自動閉鎖していること BeautifulStoneSoupを伝えることができます:
from BeautifulSoup import BeautifulStoneSoup
xml = "<tag>Text 1<selfclosing>Text 2"
print BeautifulStoneSoup(xml).prettify()
# <tag>
# Text 1
# <selfclosing>
# Text 2
# </selfclosing>
# </tag>
print BeautifulStoneSoup(xml, selfClosingTags=['selfclosing']).prettify()
# <tag>
# Text 1
# <selfclosing />
# Text 2
# </tag>
ブックFoundations of Python Network Programmingが、それはこすり取る際にはどのように見えるかの詳細な比較を持っていますBeautiful Soupとlxmlライブラリと同じWebページ。しかし、一般的に、lxmlはより速く、より効果的であり、Python標準(Python標準ライブラリに付属しているElementTree API)に密接に従うAPIを持っています。あなたには、いくつかすでに作成されたコードを探してい
http://blog.ianbicking.org/2008/12/10/lxml-an-underappreciated-web-scraping-library/
lxmlの標準XMLパーサは、不正な形式のHTMLで例外を発生させ、HTMLパーサであり、エラーを修正します。 –
はい、良い点 - lxmlの寛大なHTMLパーサーを使用してください。標準XMLパーサーではありません。 :) –
- 1. PythonのHTMLタグ修正
- 2. HTMLパーサー
- 3. HTMLレイアウトの修正
- 4. PythonでHTMLパーサー用のhttpリクエストと正規表現
- 5. ローカルHTMLファイル用のHTMLパーサー
- 6. .NET HTML DOMパーサー?
- 7. PHP HTML「パーサー」
- 8. JavascriptのHTMLパーサー
- 9. C++ .net HTMLパーサー
- 10. ワードパーサーとHTMLパーサー
- 11. Node.jsのHTMLパーサー
- 12. PythonのHTMLパーサーを使用したHTML解析
- 13. 標準のPython HTMLパーサーを使用したHTMLテーブルのスクラブ
- 14. XMLパーサーを使用せずにコードネーム1でHTMLを解析する
- 15. Windows 8のHtmlパーサー
- 16. HTML 5ビデオCSSで修正する
- 17. 壊れたHTMLを修正するアルゴリズム
- 18. Pythonで最も寛容なHTMLパーサーは何ですか?
- 19. HTMLパーサーとバリデーターの違い
- 20. SAXパーサーでhtmlを解析する
- 21. Html Agility Packはまだ最高の.NET HTMLパーサーですか?
- 22. html属性内でエコー変数を修正するには?
- 23. テキスト入力のHTML自動修正が機能しません。
- 24. php/javascript/HTMLパーサーで空白文字エラー
- 25. Google Chromeによる不正なHTMLスクリプトの修正の防止
- 26. Jericho HTMLパーサーに関する質問
- 27. Pythonコードをスレッドで修正せずにテストしていますか?
- 28. HTMLテーブルを特定のサイズに修正するには
- 29. フッターの高さをHTMLで修正する方法は?
- 30. Outlook 2016でHTML書式を修正する方法
か:代わりにHTMLを解析するための昔ながらの美しいスープライブラリのあなたはlxmlのを見てしなければならない理由のアイデアのために独特のイアンBickingことで、このブログ記事を参照してください。あなた自身のパーサをコーディングしたいですか? – Victor
私は良いスタート地点はあなたが修正しようとしていると思いますか? –
彼は何も修正したくないと言った。 – Victor