2013-03-25 195 views
0

我正在运行一个外部网站,该网站从内部公司Intranet上的iframe收集数据。这部分是用Javascript编写的并且正在工作。但是,现在我需要访问js正在收集的数据以便在python中进一步处理它。这不是一个用Javascript处理的选项,在技术上也是不可能的。Javascript/python设计帮助

我希望有一些关于从哪里出发的建议?我如何获得JavaScript数据到我的Python脚本?

+0

欢迎的土地[AJAX](http://en.wikipedia.org/wiki/Ajax_%28programming%29)。 – raina77ow 2013-03-25 12:20:57

+0

您是否在客户端使用了一些AJAX库,比如jquery,dojo,prototype,...?如果没有,你应该这样做。 – Fabien 2013-03-25 12:22:52

+0

我正在使用jQuery。 – Difusio 2013-03-25 12:24:31

回答

1

您将需要使用AJAX调用将JavaScript数据传递到后端的服务器以供Python进行处理,最好的方法是将数据编码到JSON对象中并将其传递给AJAX调用:

json_obj = {your:[data]}; 
$.ajax{ 
    url: [url of webservice/action], 
    type: "POST", 
    data: json_obj, 
    dataType: "json", 
    success: function(result) { 
    //Write your code here 
    } 
} 
//Note that this does run asynchronously, so the code that follows this will not wait for the ajax call to finish 

Python有一个漂亮的模块,JSON,您可以使用使用来解码JSON对象为Python对象:

import json 

data_obj = json.loads(json_data_string) 

这将让你在你的JavaScript组装,然后JSON字符串传递给第带有AJAX的ython转换为Python结构(字典或列表,取决于您的对象的构建方式)以实现轻松的Python处理。

您可以通过使用转储()函数,然后传递一个JSON字符串返回:

data_str = json.dumps(data_obj) 

来源: