robobrowser在json中处理响应

问题描述 投票:0回答:2

我正在尝试以可编程方式访问网站

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.......}

如您所见,我想测试“isSuccess”,并打印错误消息,我该如何处理?

谢谢

python python-2.7 python-3.x mechanize robobrowser
2个回答
0
投票

找到了使用json的解决方案

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

0
投票

而对于python 3.x是功能性的

import io
import json

json.load(io.BytesIO(browser.response.content))
© www.soinside.com 2019 - 2024. All rights reserved.