Javascript Python-解析请求响应

Javascript Python-解析请求响应,javascript,python,json,python-requests,Javascript,Python,Json,Python Requests,我有一个端点,在那里我发布数据 r = requests.post(url, data=data, headers=headers) 我得到以下Javascript响应:- throw 'allowScriptTagRemoting is false.'; (function() { var r = window.dwr._[0]; //#DWR-INSERT //#DWR-REPLY r.handleCallback("1", "0", { m

我有一个端点,在那里我发布数据

r = requests.post(url, data=data, headers=headers)
我得到以下Javascript响应:-

throw 'allowScriptTagRemoting is false.';
(function() {
    var r = window.dwr._[0];
    //#DWR-INSERT
    //#DWR-REPLY
    r.handleCallback("1", "0", {
        msg: "",
        output: {
            msg: "Showing from city center",
            resultcode: 1,
            scrpresent: true,
            srclatitude: "28.63244546123956",
            srclongitude: "77.21981048583984",
        },
        result: "success"
    });
})();

如何解析响应?我基本上想要
输出
json。如何获得相同的值?

问题是-
输出
不是有效的JSON字符串,无法通过
JSON.loads()加载

我将使用正则表达式定位
输出
对象,然后使用
findall()
定位键值对。示例工作代码:

import re


data = """
throw 'allowScriptTagRemoting is false.';
(function() {
    var r = window.dwr._[0];
    //#DWR-INSERT
    //#DWR-REPLY
    r.handleCallback("1", "0", {
        msg: "",
        output: {
            msg: "Showing from city center",
            resultcode: 1,
            scrpresent: true,
            srclatitude: "28.63244546123956",
            srclongitude: "77.21981048583984",
        },
        result: "success"
    });
})();
"""
output_str = re.search(r"output: (\{.*?\}),\n", data, re.DOTALL | re.MULTILINE).group(1)

d = dict(re.findall(r'(\w+): "?(.*?)"?,', output_str))
print(d)
印刷品:

{'msg': 'Showing from city center', 'resultcode': '1', 'srclongitude': '77.21981048583984', 'srclatitude': '28.63244546123956', 'scrpresent': 'true'}

regex和json.load