2011-10-20 25 views
0

私はetreeモジュールを使用しています。私は<text ...>タグの周りの情報を抽出しようとしています。ここにはmy XML fileがあります。 <text ...">{{Infobox filmInfobox filmで始まる場合は、すべてのテキストを{{ }}にコピーします。出来ますか?おかげXMLから情報を抽出する

更新:XMLファイルには、次のコードは、あなたが望む何をすべき

答えて

2

を更新:

import re 
from xml.etree import ElementTree            

with open('films.xml') as f:              
    xml = ElementTree.parse(f)             

for t in xml.findall('.//{http://www.mediawiki.org/xml/export-0.5/}text'): 
    print '====================' 
    m = re.search(r'(?s).*?{{(Infobox film.*?)}}', t.text) 
    if m: 
     print m.group(1) 

その.試合の改行を意味し、DOTALLオプションをオンに(?s)とそこから始まる正規表現、その他の文字も含まれます。 .*?の2つのインスタンスは、任意のチャプターの非貪欲な一致です。つまり、残りの式が一致するまで0以上の文字の最短ストレッチを見つけます。

+0

ありがとうございます。しかし、 ' 'タグに' infobox film'値があり、次にテキストタグの内容を印刷したいとします。 –

+0

XMLファイルが更新されました。うまく動作します。 –

+0

@ user559744: '{{Infobox film ..}}'セクションからテキストを抽出する方法を示すために私の答えを更新しました。 –

関連する問題