Как я могу заменить коды символов HTML реальными символами в тексте, полученном при соскобе селеном перед вставкой данных в sqlite db?

Пожалуйста, просто выполните скриншот и введите -fno-objc-arc.

0
задан Vash 16 January 2019 в 08:23
поделиться

2 ответа

Я думаю, что проблема, с которой вы столкнулись выше, заключается в том, что ваш текст уже находится в формате Unicode, и вы пытаетесь преобразовать его в Unicode во второй раз, что вызывает вашу ошибку.

Приведенный ниже код работал для меня и дал результаты, показанные ниже.

from bs4 import BeautifulSoup

text = "Albert Einstein’s Theory of Relativity: Should We Worry…?"
parsed_html = BeautifulSoup(text)

print 'Original Type: ' + type(text)
print 'Original Text: ' + text
print 'Parsed Type:   ' + type(parsed_html.text)
print 'Parsed Text:   ' + parsed_html.text

Вывод:

Original Type: <type 'str'>
Original Text: Albert Einstein&#8217;s Theory of Relativity&#58; Should We Worry&#8230;&#63;
Parsed Type: <type 'unicode'>
Parsed Text: Albert Einstein’s Theory of Relativity: Should We Worry…?

Использование BeautifulSoup4 версии 4.7.1

pip install bs4

0
ответ дан cullzie 16 January 2019 в 08:23
поделиться

Оказывается, причина, по которой HTMLEntitiesToUnicode() не работал для меня, заключалась в том, что я читал данные из файла .json, в который были записаны данные, без указания того, что они должны быть сохранены в utf-8. Исправление и последующее использование HTMLEntititesToUnicode(), как описано выше, работало нормально.

0
ответ дан Vash 16 January 2019 в 08:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: