我试图以可编程方式访问网站
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.......}
如您所见,我想测试"是否成功",并打印错误消息,我该如何处理?
感谢
答案 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))