посмотрите на этот пример:
# xml parser
bs4.BeautifulSoup('<price>£4</price>', 'xml')
# prints:
<?xml version="1.0" encoding="utf-8"?>
<price>4</price>
# html (lxml) parser
bs4.BeautifulSoup('<span>£4</span>', 'lxml')
# prints:
<html><body><span>£4</span></body></html>
Обратите внимание на знак £
. Почему синтаксический анализатор XML удаляет его? Что мне сделать, чтобы он был на выходе? Мне нужен xml
синтаксический анализ, потому что документ содержит несколько парных тегов, которые неправильно анализируются lxml
синтаксическим анализатором (например, <link>
).