Получение международных символов от веб-страницы? [дубликат]

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
7
задан lillq 26 September 2008 в 00:53
поделиться

3 ответа

Я рекомендовал бы BeautifulSoup для очистки HTML. Также необходимо сказать этому преобразовывать объекты HTML в соответствующие символы Unicode, как так:

>>> from BeautifulSoup import BeautifulSoup    
>>> html = "<html>&#196;&#196;RITALO!</html>"
>>> soup = BeautifulSoup(html, convertEntities=BeautifulSoup.HTML_ENTITIES)
>>> print soup.contents[0].string
ÄÄRITALO!

(Было бы хорошо, если бы стандартный модуль кодеков включал кодек для этого, такого, что Вы могли сделать "some_string".decode('html_entities') но к сожалению это не делает!)

Править: Другое решение: у разработчика Python Fredrik Lundh (автор elementtree, среди прочего) есть функция к unsecape объектам HTML на его веб-сайте, который работает с десятичным числом, шестнадцатеричные и именованные сущности (BeautifulSoup не будет работать с шестнадцатеричными).

7
ответ дан 7 December 2019 в 03:23
поделиться

Попытайтесь использовать BeautifulSoup. Это должно добиться цели и дать Вам приятно отформатированный DOM для работы с также.

Эта запись в блоге, кажется, имела некоторый успех с ним.

2
ответ дан 7 December 2019 в 03:23
поделиться

Я не попробовал его сам, но имею Вас попробованный

http://zesty.ca/python/scrape.html?

Это, кажется, имеет метод htmldecode (текст), который сделал бы то, что Вы хотите.

0
ответ дан 7 December 2019 в 03:23
поделиться
Другие вопросы по тегам:

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