Я борюсь с кодировками и lxml. Я читаю в некотором html с веб-сайта и хотел бы найти тег, который включает £ в его тексте, используя lxml. Я могу выполнить поиск по тегу (h3) и получить содержимое для печати в порядке, но если я попытаюсь найти знак £ в тексте, я получу ошибку UnicodeDecodeError. Мне нужно сделать последнее, потому что это более общий случай.
tree = lxml.html.fromstring(html)
# prints #£13,999
print tree.cssselect('h3')[0].text_content().encode("utf-8")
# generates "UnicodeDecodeError: 'ascii' codec can't decode byte 0xa3 in position 0: ordinal not in range(128)"
# prints £13,999
print tree.cssselect('h3:contains(u"\xa3")')[0].text_content().encode('utf-8')
Любой гепатит, которого вы можете предоставить, будет очень признателен ... Я пробовал несколько разных вещей, и это сводит меня с ума!