robobrowser在json中处理响应

时间:2017-07-11 08:37:05

标签: python python-2.7 python-3.x mechanize robobrowser

我试图以可编程方式访问网站

from robobrowser import RoboBrowser
import sys

browser = RoboBrowser(history=True)
browser.open('https://test.com/login')
loginForm = browser.get_form()
loginForm['UserName']='username'
loginForm['Password']='*'
browser.submit_form(loginForm)
if browser.response.ok: 
   if browser.response.content[2]=='false':
       print browser.response.content[4]
       sys.exit(1)

网站返回了json格式(至少我认为它是json),但我似乎无法找到robobrowser api来处理json。

{"RedirectUrl":null,"IsSuccess":false,"Message":null,"CustomMessage":null,"Errors":[{"Key":"CaptchaValue","Value":["Your response did not match. Please try again."]}],"Messages":{},"HasView":true.......}

如您所见,我想测试"是否成功",并打印错误消息,我该如何处理?

感谢

2 个答案:

答案 0 :(得分:0)

使用json找到解决方案

json.load(StringIO(browser.response.content))

答案 1 :(得分:0)

并且对于python 3.x来说功能

import io
import json

json.load(io.BytesIO(browser.response.content))