Как декодировать html hex-элементы?

Часть веб-сайта, который я пытаюсь очистить, имеет этот странный блок шестнадцатеричных значений вместо символов. Как я могу декодировать это с помощью python?

Я использую urllib.request, чтобы получить источник страницы

http://www.filmovita.com/despicable-2-2013/ вот код:

<span id='engimadiv5523da4eae533' data-enigmav='u0032u002eu0020u0056u0065u0072u007au0069u006au0061u003au003cu0062u0072u0020u002fu003eu000au003cu0073u0074u0072u006fu006eu0067u003eu003cu0061u0020u0068u0072u0065u0066u003du0022u0068u0074u0074u0070u003au002fu002fu0077u0077u0077u002eu0063u006cu006fu0075u0064u007au0069u006cu006cu0061u002eu0074u006fu002fu0073u0068u0061u0072u0065u002fu0066u0069u006cu0065u002fu0047u0042u0047u0059u0031u0030u0036u0031u0053u004cu0053u0032u004cu0035u004bu004bu0058u0030u0049u0054u0054u0047u004fu004cu0047u002fu0022u0020u0074u0061u0072u0067u0065u0074u003du0022u005fu0062u006cu0061u006eu006bu0022u0020u0072u0065u006cu003du0022u006eu006fu0066u006fu006cu006cu006fu0077u0022u003eu0047u006cu0065u0064u0061u006au0020u006eu0061u0020u0076u0069u0064u0065u006fu0020u0073u0065u0072u0076u0069u0073u0075u0020u0043u006cu006fu0075u0064u005au0069u006cu006cu0061u002eu0074u006fu003cu002fu0061u003eu003cu002fu0073u0074u0072u006fu006eu0067u003eu003cu002fu0070u003eu000au003cu0070u003eu0033u002eu0020u0056u0065u0072u007au0069u006au0061u003au003cu0062u0072u0020u002fu003eu000au003cu0073u0074u0072u006fu006eu0067u003eu003cu0061u0020u0068u0072u0065u0066u003du0022u0068u0074u0074u0070u003au002fu002fu0066u0069u006cu0065u0068u006fu006fu0074u002eu0063u006fu006du002fu0068u0063u006bu0074u0032u007au0072u0033u0039u0079u0064u0038u002eu0068u0074u006du006cu0022u0020u0074u0061u0072u0067u0065u0074u003du0022u005fu0062u006cu0061u006eu006bu0022u0020u0072u0065u006cu003du0022u006eu006fu0066u006fu006cu006cu006fu0077u0022u003eu0047u006cu0065u0064u0061u006au0020u006eu0061u0020u0076u0069u0064u0065u006fu0020u0073u0065u0072u0076u0069u0073u0075u0020u0046u0069u006cu0065u0048u006fu006fu0074u002eu0063u006fu006du003cu002fu0061u003eu003cu002fu0073u0074u0072u006fu006eu0067u003eu003cu002fu0070u003eu000au003cu0070u003eu0034u002eu0020u0056u0065u0072u007au0069u006au0061u003au003cu0062u0072u0020u002fu003eu000au003cu0073u0074u0072u006fu006eu0067u003eu003cu0061u0020u0068u0072u0065u0066u003du0022u0068u0074u0074u0070u003au002fu002fu0077u0077u0077u002eu0076u0069u0064u0065u006fu0077u006fu006fu0064u002eu0074u0076u002fu0076u0069u0064u0065u006fu002fu0034u0033u006cu0068u0022u0020u0074u0061u0072u0067u0065u0074u003du0022u005fu0062u006cu0061u006eu006bu0022u0020u0072u0065u006cu003du0022u006eu006fu0066u006fu006cu006cu006fu0077u0022u003eu0047u006cu0065u0064u0061u006au0020u006eu0061u0020u0076u0069u0064u0065u006fu0020u0073u0065u0072u0076u0069u0073u0075u0020u0056u0069u0064u0065u006fu0057u006fu006fu0064u002eu0074u0076u003cu002fu0061u003eu003cu002fu0073u0074u0072u006fu006eu0067u003eu003cu002fu0070u003eu000au003cu0070u003eu0035u002eu0020u0056u0065u0072u007au0069u006au0061u003au003cu0062u0072u0020u002fu003eu000au003cu0073u0074u0072u006fu006eu0067u003eu003cu0061u0020u0068u0072u0065u0066u003du0022u0068u0074u0074u0070u003au002fu002fu0073u0074u0072u0065u0061u006du0069u006eu002eu0074u006fu002fu0061u0073u006bu0062u0061u0031u0064u0070u0078u0073u0078u0063u0022u0020u0074u0061u0072u0067u0065u0074u003du0022u005fu0062u006cu0061u006eu006bu0022u0020u0072u0065u006cu003du0022u006eu006fu0066u006fu006cu006cu006fu0077u0022u003eu0047u006cu0065u0064u0061u006au0020u006eu0061u0020u0076u0069u0064u0065u006fu0020u0073u0065u0072u0076u0069u0073u0075u0020u0053u0074u0072u0065u0061u006du0069u006eu002eu0074u006fu003cu002fu0061u003eu003cu002fu0073u0074u0072u006fu006eu0067u003eu003cu002fu0070u003eu000au003cu0070u003eu0036u002eu0020u0056u0065u0072u007au0069u006au0061u003au003cu0062u0072u0020u002fu003eu000au003cu0073u0074u0072u006fu006eu0067u003eu003cu0061u0020u0068u0072u0065u0066u003du0022u0068u0074u0074u0070u003au002fu002fu0070u006cu0061u0079u0065u0064u002eu0074u006fu002fu0072u0076u006bu0036u0034u0068u0039u006du006au006fu006eu0062u0022u0020u0074u0061u0072u0067u0065u0074u003du0022u005fu0062u006cu0061u006eu006bu0022u0020u0072u0065u006cu003du0022u006eu006fu0066u006fu006cu006cu006fu0077u0022u003eu0047u006cu0065u0064u0061u006au0020u006eu0061u0020u0076u0069u0064u0065u006fu0020u0073u0065u0072u0076u0069u0073u0075u0020u0050u006cu0061u0079u0065u0064u002eu0074u006fu003cu002fu0061u003eu003cu002fu0073u0074u0072u006fu006eu0067u003eu003cu002fu0070u003eu000au003cu0070u003eu0037u002eu0020u0056u0065u0072u007au0069u006au0061u003au003cu0062u0072u0020u002fu003eu000au003cu0073u0074u0072u006fu006eu0067u003eu003cu0061u0020u0068u0072u0065u0066u003du0022u0068u0074u0074u0070u003au002fu002fu0077u0077u0077u002eu0074u0068u0065u0076u0069u0064u0065u006fu002eu006du0065u002fu0076u006bu0074u0075u0035u006au006fu006fu007au0062u0069u0064u0022u0020u0074u0061u0072u0067u0065u0074u003du0022u005fu0062u006cu0061u006eu006bu0022u0020u0072u0065u006cu003du0022u006eu006fu0066u006fu006cu006cu006fu0077u0022u003eu0047u006cu0065u0064u0061u006au0020u006eu0061u0020u0076u0069u0064u0065u006fu0020u0073u0065u0072u0076u0069u0073u0075u0020u0054u0068u0065u0056u0069u0064u0065u006fu002eu006du0065u003cu002fu0061u003eu003cu002fu0073u0074u0072u006fu006eu0067u003eu003cu002fu0070u003eu000au003cu0070u003eu0038u002eu0020u0056u0065u0072u007au0069u006au0061u003au003cu0062u0072u0020u002fu003eu000au003cu0073u0074u0072u006fu006eu0067u003eu003cu0061u0020u0068u0072u0065u0066u003du0022u0068u0074u0074u0070u003au002fu002fu0076u006fu0064u006cu006fu0063u006bu0065u0072u002eu0063u006fu006du002fu006cu0065u0068u0036u007au0064u0037u0031u0075u0032u0036u0063u0022u0020u0074u0061u0072u0067u0065u0074u003du0022u005fu0062u006cu0061u006eu006bu0022u0020u0072u0065u006cu003du0022u006eu006fu0066u006fu006cu006cu006fu0077u0022u003eu0047u006cu0065u0064u0061u006au0020u006eu0061u0020u0076u0069u0064u0065u006fu0020u0073u0065u0072u0076u0069u0073u0075u0020u0056u006fu0064u004cu006fu0063u006bu0065u0072u002eu0063u006fu006du003cu002fu0061u003eu003cu002fu0073u0074u0072u006fu006eu0067u003e' data-enigmad='n'></span>

Благодаря!

python,html,unicode,hex,decode,

1

Ответов: 1


1 принят

У вас есть escape-последовательность Javascript Unicode, в отличие от тех же escape-последовательностей, что и в Python.

Декодировать последовательность как JSON; JSON - это подмножество JavaScript, и парсер JSON знает, как справляться с особенностями формата строкового литерала JS (например, обрабатывать суррогатные пары UTF-16).

Сначала используйте BeautifulSoup, чтобы разобрать элемент, затем JSON-декодировать строковое значение (добавив сначала в кавычки):

from bs4 import BeautifulSoup
import json

soup = BeautifulSoup(response.content, 'lxml')
span = soup.find(id='engimadiv5523da4eae533')
jsdata = span['data-enigmav']
data = json.loads('"{}"'.format(jsdata))

Демо-версия:

>>> span = soup.find('span')
>>> jsdata = span['data-enigmav']
>>> data = json.loads('"{}"'.format(jsdata))
>>> print(data)
2. Verzija:<br />
<strong><a href="http://www.cloudzilla.to/share/file/GBGY1061SLS2L5KKX0ITTGOLG/" target="_blank" rel="nofollow">Gledaj na video servisu CloudZilla.to</a></strong></p>
<p>3. Verzija:<br />
<strong><a href="http://filehoot.com/hckt2zr39yd8.html" target="_blank" rel="nofollow">Gledaj na video servisu FileHoot.com</a></strong></p>
<p>4. Verzija:<br />
<strong><a href="http://www.videowood.tv/video/43lh" target="_blank" rel="nofollow">Gledaj na video servisu VideoWood.tv</a></strong></p>
<p>5. Verzija:<br />
<strong><a href="http://streamin.to/askba1dpxsxc" target="_blank" rel="nofollow">Gledaj na video servisu Streamin.to</a></strong></p>
<p>6. Verzija:<br />
<strong><a href="http://played.to/rvk64h9mjonb" target="_blank" rel="nofollow">Gledaj na video servisu Played.to</a></strong></p>
<p>7. Verzija:<br />
<strong><a href="http://www.thevideo.me/vktu5joozbid" target="_blank" rel="nofollow">Gledaj na video servisu TheVideo.me</a></strong></p>
<p>8. Verzija:<br />
<strong><a href="http://vodlocker.com/leh6zd71u26c" target="_blank" rel="nofollow">Gledaj na video servisu VodLocker.com</a></strong>
Python, HTML, Unicode, гекс, расшифровывает,
Похожие вопросы