0

Python には多数の XML パーサーと HTML パーサーがあり、できれば XPATH コンストラクトを使用して、HTML ドキュメントのセクションを抽出する簡単な方法を探していますが、それはオプションです。

ここに例があります

src = "<html><body>...<div id=content>AAA<B>BBB</B>CCC</div>...</body></html>"

id=content で要素の本文全体を抽出したいので、結果は次のようになります。<div id=content>AAA<B>BBB</B>CCC</div>

新しいライブラリをインストールせずにこれを行うことができればよいでしょう。

また、目的の要素の元のコンテンツを取得したいと思います(再フォーマットされていません)。

XML/HTML の解析には安全ではないため、regexp の使用は許可されていません。

4

2 に答える 2

0

はい、私はこれをしました。最善の方法ではないかもしれませんが、以下のコードのように機能します。私はこれをテストしませんでした

import re

match = re.finditer("<div id=content>",src)
src = src[match.start():]

#at this point the string start with your div everything proceeding it has been stripped.
#This next part works because the first div in the string is the end of your div section.
match = re.finditer("</div>",src)
src = src[:match.end()]

src には、文字列の後にある div だけが含まれるようになりました。必要なものの中に別の検索パターンがある場合は、 re.finditer セクション用により洗練された検索パターンを構築する必要があります。

于 2013-06-13T16:20:19.223 に答える