0
두 프로그램 모두 동일한 XML 파일을 읽습니다. 첫 번째 프로그램은 모든 데이터를 <text></text>
태그 사이에 복사합니다. 그리고 두 번째 프로그램은 <text></text>
태그의 제한된 데이터를 복사합니다.빗질 for 루프
데이터를 제한하고 싶습니다. 그래서 첫 번째 프로그램이 문을 사용할 수 있습니다 :
m = re.search(r'(?ms).*?{{(Infobox film.*?)}}', t.text)
첫 번째 프로그램
from lxml import etree
doc = etree.parse('file.xml')
def first(seq,default=None):
for item in seq:
return item
return default
NSMAP=dict(mw="http://www.mediawiki.org/xml/export-0.5/")
for i,page in enumerate(doc.xpath('/mw:mediawiki/mw:page',namespaces=NSMAP)):
text = first(page.xpath('./mw:revision/mw:text/text()',namespaces=NSMAP))
id = first(page.xpath('./mw:id/text()',namespaces=NSMAP))
title = first(page.xpath('./mw:title/text()',namespaces=NSMAP))
print " %s" % (text)
두 번째 프로그램
import re
from xml.etree import ElementTree
with open('file.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'(?ms).*?{{(Infobox film.*?)}}', t.text)
if m:
print m.group(1)
UPDATE : 저를 도와주세요. 다른 대안이 있습니까?
작동합니다. 정말 고맙습니다. 나는 Python을 처음 사용한다. 나는 배우고있다. –