Посты с тэгом sax


[recovery mode] Самый быстрый SAX-парсер для python

Внезапно захотелось пересчитать все xml-теги в 240 тысячах xml-файлов общим весом 180 GB. Питоном — и побыстрее. Читать дальше →



Python sax парсинг, ОстОрОМнО грайНи!

Python sax парсинг, ОстОрОМнО грайНи!



Python sax парсинг, осторожно грабли!

Столкнулся с такой проблемой использую SAX парсер для парсинга XHTML файла и прикаждом вызове функции xml.sax.parse скрипт подвисает на несколько секунд. В начале думал что файл слишком тяжёлый для парсинга, посмотрел загрузку процессора, процессор не грузится! Забил, через несколько дней сижу с вырубленым интернетом, запускаю скрипт и вот тут выскакивает ошибка мол время соединения истекло т.е. таймаут!!! И ошибка указывает на строку 298


f = urllib.urlopen(source.getSystemId())
модуля saxutils. Вот тут я выпал в осадок :))))

Оказалось что в XHTML файле есть доктип:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


и каждый раз при парсинге скрипт рубится в интернет!!!
Погуглив, решения не нашёл как это дело закешировать, не стал рефакторить фукцию prepare_input_source,