Разбор XML SAX парсером с FTP
Версия от 16:33, 12 апреля 2018; Разговоров Михаил (обсуждение | вклад) (added Category:Python using HotCat)
Раз нужен SAX парсер, значит на входе очень большие файлы. Основная проблема, как передать stream с ftp в sax парсер.
Вариант через urllib, на самом деле внутри urllib используется ftplib и можно посмотреть как данный вариант работает.
def parse_xml(url, username, password)
url = url.replace('//', '//{0}:{1}@'.format(username, password))
file = urllib.request.urlopen(url)
parser = sax.make_parser()
parser.setFeature(sax.handler.feature_namespaces, 0)
content_handler = SaxElemHandler(self)
parser.setContentHandler(content_handler)
parser.parse(file)