lxml, <br/> и пропадающий tail
Пытаюсь тут сайт парсить, и обнаружил, что между тегами <br/> пропадает перенос строки:
>>> e = lxml.html.fromstring('<div>a<br/>\n<br/>\nb</div>')
>>> lxml.html.tostring(e, method='xml', encoding='utf-8')
'<div>a<br/><br/>\nb</div>'
>>> e.findall('br')[0].tail
None
>>> e.findall('br')[1].tail
'\nb'
Не то чтобы критично, но немного неприятно. Отчего он пропадает и возможно ли его как-то вернуть не вручную?
Что-то похожее было на соседнем stackoverflow, но там проблема с head и решилась обновлением, а у меня вот не решилась.
При парсинге через html5lib
перенос строки на месте, но для моих целей он слишком медленный.
UPD: Описанная выше ситуация — на 32-битном Debian 7, Python 2.7.3 и на lxml 3.4.4. На домашнем ноутбуке на 64-битном Arch на Python 2.7.9 и таком же lxml 3.4.4 всё внезапно работает нормально. o_O
Источник: Stack Overflow на русском