2016-11-14 32 views
0

私の仕事は、1つのタグ付き値を抽出し、geojsonでMongoに送信することです。 ファイルをバイナリリクエストオブジェクトとして取得しています。PythonでXMLタグ付き文字列を抽出する効果的な方法

doc = requests.get(file).content #returning a XML tree. 

私の質問は、タグから値を取得するための「最良の」アプローチを見つけることです。分単位でスキャンする必要がある複数のソースがあるので、1つの実行に時間がかからなくても、実際のファイルのインポートにはどのような抽出プロセスよりもコストがかかることに注意してください。

私が試みたアプローチは、BeautifulSoup、スライシングと正規表現です。彼らはすべて正常に動作しますが、私は代替案や賛否両論について何らかのインプットを得たいと思っています。

def extractsubstring_soup(doc, start): 
     soup = BeautifulSoup(doc, 'lxml-xml') 
     return soup.start.string 

    def extractsubstring_re(doc, start, stop): 
     return re.search('%s(.*)%s' %(start, stop), a).group(1) 

    def extractsubstring_slice(doc,start, stop): 
     substart = doc.index(start) + len(start) 
     subend = doc.index(end) 
     return doc[substart:subend] 

答えて

0

パフォーマンスを得るために、あなたはhttp://lxml.de/を使用して、必要な情報を抽出するXPathクエリを使用することができます。

BeautifulSoupはさまざまなライブラリのラッパーです。どちらを選択することもできますが、通常はXMLではなくHTMLの解析に使用します。

関連する問題