奇怪的json值urllib python

时间:2016-02-20 20:07:53

标签: python json urllib

我试图从这个网站操纵动态JSON:

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

它包含3个元素,imagem,base64,labelValorCaptcha,只是一条消息,uuidCaptcha是一个值,可通过参数传递以在此链接中播放声音:< / p>

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

当我通过浏览器进入第一个站点并将第二个链接放入等号后面的uuidCaptha(&#34; ... uuidCaptcha =&#34;)时,声音正常播放。我写了一个简单的代码来捕捉这些元素。

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的抓住价值不起作用。打开错误网页。

有人知道吗? 谢谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

正如我所说@Charlie Harding,最好的方法是下载页面并获取JSON值,因为这个JSON是动态的,需要一个打开的Web链接才能存在。

更多信息here