Я пытаюсь расшифровать HTML entities
из раздела HTML
исходного кода и с HTMLParser
и BeautifulSoup
HTMLparser и BeautifulSoup не декодирует HTML сущности правильно
Однако ни, кажется, работает полностью. А именно, они не декодируют косые черты.
Мой Python версии 2.7.11
с BeautifulSoup
версия 3.2.1
print 'ORIGINAL STRING: %s \n' % original_url_string
#clean up
try:
# Python 2.6-2.7
from HTMLParser import HTMLParser
except ImportError:
# Python 3
from html.parser import HTMLParser
h = HTMLParser()
url_string = h.unescape(original_url_string)
print 'CLEANED WITH html.parser: %s \n' % url_string
decoded = BeautifulSoup(original_url_string,convertEntities=BeautifulSoup.HTML_ENTITIES)
print 'CLEANED WITH BeautifulSoup: %s \n' % decoded.contents
дает мне выход, как:
ORIGINAL STRING: api.soundcloud.com%2Ftracks%2F277561480&show_artwork=true&maxwidth=1050&maxheight=1000
CLEANED WITH html.parser: api.soundcloud.com%2Ftracks%2F277561480&show_artwork=true&maxwidth=1050&maxheight=1000
CLEANED WITH BeautifulSoup: [u'api.soundcloud.com%2Ftracks%2F277561480&show_artwork=true&maxwidth=1050&maxheight=1000']
Что я здесь отсутствует?
Должен ли я попытаться декодировать всю страницу HTML
, прежде чем вытаскивать URL-адреса?
Есть ли лучший способ сделать это с помощью Python?