2016-02-20 2 views
2

Я пытаюсь манипулировать динамический JSON с этого сайта:Weird значение JSON URLLIB питон

http://esaj.tjsc.jus.br/cposgtj/imagemCaptcha.do 

Он имеет 3 элемента, imagem, в base64, labelValorCaptcha, просто сообщение, и uuidCaptcha, значение для передать параметром для воспроизведения звука в этой ссылке ниже:

http://esaj.tjsc.jus.br/cposgtj/somCaptcha.do?timestamp=1455996420264&uuidCaptcha=sajcaptcha_e7b072e1fce5493cbdc46c9e4738ab8a 

Когда я вхожу в первом месте через браузер и поставить во втором звене uuidCaptha после равного («..uuidCaptcha =»), то звук воспроизводится нормально. Я написал простой код, чтобы поймать эти элементы.

import urllib, json 
url = "http://esaj.tjsc.jus.br/cposgtj/imagemCaptcha.do" 
response = urllib.urlopen(url) 
data = json.loads(response.read()) 
urlSound = "http://esaj.tjsc.jus.br/cposgtj/somCaptcha.do?timestamp=1455996420264&uuidCaptcha=" 
print urlSound + data['uuidCaptcha'] 

Но я не знаю, что происходит, пойманная значение uuidCaptcha не работает. Откройте веб-страницу с ошибкой.

Кто-то знает? Спасибо!

+0

Какая ошибка? Что выводит вывод печати? –

+0

Также вам, вероятно, нужно вставить текущую временную метку: 'import time' в начале, затем изменить определение urlSound на ' urlSound = "http://esaj.tjsc.jus.br/cposgtj/somCaptcha.do? timestamp = "+ str (int (time.time())) +" & uuidCaptcha = "' Строка (int (...)) округляет временную метку до ближайшей секунды и затем преобразует ее в строку, чтобы она могла будет использоваться в URL-адресе –

+0

@CharlieHarding Выход для печати должен быть ссылкой, которая открывает звук, например [this] (http://esaj.tjsc.jus.br/cposgtj/somCaptcha.do?timestamp=1455996420264&uuidCaptcha=sajcaptcha_407e9a85a31d49588c429cdd4c41bd1d). –

ответ

0

Как я уже сказал @Charlie Harding, лучший способ загрузки страницы и получить значения JSON, потому что это JSON является динамичным и нужен открытый веб-ссылку, чтобы существовать.

Дополнительная информация here.

0

Это работает для меня.

$ cat a.py 
#!/usr/bin/env python 
# encoding: utf-8 
import urllib, json 


url = "http://esaj.tjsc.jus.br/cposgtj/imagemCaptcha.do" 
response = urllib.urlopen(url) 
data = json.loads(response.read()) 
urlSound = "http://esaj.tjsc.jus.br/cposgtj/somCaptcha.do?timestamp=1455996420264&uuidCaptcha=" 
print urlSound + data['uuidCaptcha'] 

$ python a.py 
http://esaj.tjsc.jus.br/cposgtj/somCaptcha.do?timestamp=1455996420264&uuidCaptcha=sajcaptcha_efc8d4bc3bdb428eab8370c4e04ab42c 
+0

Должен открыть аудио. –

Смежные вопросы