преобразовать unicode формы \uxxxxx в строку или текст

Я пишу скрипт python, который будет извлекать URL-адрес видео из facebook. Но в источнике видеостраницы я вижу в URL-адресе некоторые символы вида \uxxxxx.

например URL в этой форме

https\u00253A\u00255C\u00252F\u00255C\u00252Ffbcdn-video-a.akamaihd.net\u00255C\u00252Fhvideo-ak-prn2\u00255C\u00252Fv\u00255C\u00252F753002_318048581647953_53890_n.mp4\u00253Foh\u00253D64e3e8ecf7e88f1da335d88949b2dc1f\u002526oe\u00253D52226D10\u002526__gda__\u00253D1377987338_9e37fb163a1d37d4b06ab7cff668f7dc\u002522\u00252C\u002522

%3A — это двоеточие (:), но как его преобразовать.

когда мне понравилось

>>> x.decode('unicode_escape').encode('ascii','ignore')

я получил

'https%3A%5C%2F%5C%2Ffbcdn-video-a.akamaihd.net%5C%2Fhvideo-ak-prn2%5C%2Fv%5C%2F753002_318048581647953_53890_n.mp4%3Foh%3D64e3e8ecf7e88f1da335d88949b2dc1f%26oe%3D52226D10%26__gda__%3D1377987338_9e37fb163a1d37d4b06ab7cff668f7dc%22%2C%22

Мне нужен точный URL, а не процент.

Я много искал, но не мог найти никакой помощи.

заранее спасибо

Изменить

Есть ли способ, если я передам весь источник страницы facebook, а затем преобразую весь такой сложный символ юникода в простой.


person vaibhav1312    schedule 31.08.2013    source источник
comment
Это странная строка с двойным экранированием.   -  person Mechanical snail    schedule 01.09.2013
comment
@mechanical не только URL-адрес, но и большая его часть присутствует в javascript. Например, проверьте источник facebook.com/photo.php?v=10102527792694996 . Нажмите CTRL+F и найдите .mp4.   -  person vaibhav1312    schedule 01.09.2013


Ответы (1)


>>> import urllib
>>> s = b'https\u00253A\u00255C\u00252F\u00255C\u00252Ffbcdn-video'
>>> print urllib.unquote_plus(s.decode('unicode_escape'))
https:\/\/fbcdn-video

Кажется, что ваша строка имеет обратную косую черту.

>>> import re
>>> import urllib
>>> s = b'https\u00253A\u00255C\u00252F\u00255C\u00252Ffbcdn-video'
>>> re.sub(r'\\(.)', r'\1', urllib.unquote_plus(s.decode('unicode_escape')))
u'https://fbcdn-video'
person Viktor Kerkez    schedule 31.08.2013
comment
да, но я хочу изменить точный URL-адрес, который введите в адресной строке - person vaibhav1312; 01.09.2013
comment
Есть ли метод в любой библиотеке на питоне, в котором я могу передать весь источник и преобразовать его в обычную строку или текст? - person vaibhav1312; 01.09.2013
comment
@ vaibhav1312 не уверен, что понял твой вопрос? Просто поместите весь источник в строковую переменную и запустите последнюю строку, которую я дал в ответе. - person Viktor Kerkez; 01.09.2013
comment
Спасибо @viktor. Он превратил их всех - person vaibhav1312; 01.09.2013