Я хотел бы иметь возможность эффективно анализировать большие HTML-документы на Python. Мне известно о Fastiter Лизы Дейли и аналогичная концепция в собственном cElementTree Python. Однако ни один из них не обрабатывает сломанный XML, который также читает HTML. Кроме того, документ может содержать другой неработающий XML.
Точно так же мне известны ответы типа this, в которых предлагается вообще не использовать какую-либо форму iterparse, а именно: собственно то, что я использую. Тем не менее, я пытаюсь оптимизировать решение, преодолев самое узкое место в моей программе, а именно синтаксический анализ документов.
Кроме того, я немного поэкспериментировал с использованием обработчика целей в стиле SAX для парсеров lxml - я не уверен, что происходит, но это сразу приводит к тому, что Python перестает работать! Не просто выброс исключения, но и всплывающее сообщение «python.exe перестал работать». Понятия не имею, что здесь происходит, но я даже не уверен, действительно ли этот метод лучше стандартного парсера, потому что я очень мало видел о нем в Интернете.
Таким образом, мой вопрос: есть ли что-нибудь похожее на iterparse, позволяющее мне быстро и эффективно разбирать документ, которое не вызывает раздражения, когда документ не правильно сформирован XML (IE. Имеет восстановление из плохо сформированного XML)?
&&
разбросанные по сторонам, которые заставляют синтаксический анализатор XML подходить. - person Firnagzen   schedule 26.01.2014