Разбор XML SAX парсером с FTP

Материал из razgovorov.ru
Версия от 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)