1
回答
如何获取上交所的数据
终于搞明白,存储TCO原来是这样算的>>>   

想抓取的数据地址: http://www.sse.com.cn/assortment/fund/etf/diclosure/volumn/

经页面分析上交所的获取json数据的地址是http://query.sse.com.cn/commonQuery.do?jsonCallBack=jsonpCallback81562&isPagnation=true&sqlId=COMMON_SSE_ZQPZ_ETFZL_XXPL_ETFGM_SEARCH_L&pageHelp.pageSize=10000&STAT_DATE=2015-07-03&_=1436182527389

但打开该地址是错误的,请大侠们帮忙分析一下,如何获取该页json数据。最好用html / javascript编写。

谢谢诶!

<无标签>
举报
iwlx
发帖于2年前 1回/847阅
共有1个答案 最后回答: 2年前
同求!header都拷贝了,也没有cookie,但是链接放在外面就是不能工作。 js代码已经获取了,但是分析代码页看不出来是什么原因导致错误。js代码如下:


object.getDataByAjax = function(url, params, callbackFun) {
    object.AjaxUrl = url;
    object.params = object.mergeJson(object.params, params);
    object.callbackFun = callbackFun;
    var p = object.params;
    if (object.sortable == true) {
        p = object.mergeJson(object.params, object.sorter.params)
    };
    object.startloadingImg();
    var ajaxSuccessCallback = function(data) {
        if (!$.trim(data.success).length == 0) {
            if (data.success == "false") {
                if ($.trim(data.errorType).length != 0) {
                    if ($.trim(data.errorType) == "IPtableException" || $.trim(data.errorType) == "IpCountException") {
                        if (language == "cn") window.location.href = "/ip.htm";
                        else if (language == "en") window.location.href = "/ip_en.htm"
                    } else if ($.trim(data.errorType) == "IllegalParametersException") {
                        if (language == "cn") alert("您输入的查询条件中含有非法字符.");
                        if (language == "en") alert("The Conditions You Input Contains Illegal Parameters.")
                    };
                    if (language == "cn") window.location.href = "/500.htm";
                    else if (language == "en") window.location.href = "/500_en.htm"
                } else {
                    if (language == "cn") window.location.href = "/500.htm";
                    else if (language == "en") window.location.href = "/500_en.htm"
                };
                object.stoploadingImg();
                return
            }
        };
        object.stoploadingImg();
        object.dataCache = data.result;
        object.data = data;
        if ($.isEmptyObject(object.dataCache)) {
            object.dataCache = {}
        };
        if ($.isEmptyObject(object.data)) {
            object.data = {}
        };
        var pagination = new newPagination(object);
        if (Boolean(object.isPagination)) {
            object.pagination = pagination;
            pagination.pageHelp = data.pageHelp;
            pagination.init()
        };
        if (Boolean(object.isPagination)) {
            if (pagination.pageNo <= pagination.cacheSize) {
                object.render(object.dataCache, ((pagination.pageNo - 1) * pagination.pageSize + 1), ((pagination.pageNo - 1) * pagination.pageSize + pagination.pageSize))
            } else {
                var beginPageNo = pagination.getBeginPage(pagination.pageNo);
                var localPageNo = (pagination.pageNo - beginPageNo) + 1;
                object.render(object.dataCache, ((localPageNo - 1) * pagination.pageSize + 1), ((localPageNo - 1) * pagination.pageSize + pagination.pageSize))
            }
        } else {
            object.render(object.dataCache, 1, object.dataCache.length)
        }
    };
    var ajaxParam = {
        type: "get",
        url: url,
        data: p,
        dataType: "jsonp",
        jsonp: "jsonCallBack",
        jsonpCallback: "jsonpCallback" + Math.floor(Math.random() * (100000 + 1)),
        timeout: 30000,
        success: ajaxSuccessCallback,
        error: function(jqXHR, textStatus, errorThrown) {
            if (textStatus == "timeout") {
                if (language == "cn") window.location.href = "/500.htm";
                else if (language == "en") window.location.href = "/500_en.htm"
            } else {
                if (language == "cn") window.location.href = "/500.htm";
                else if (language == "en") window.location.href = "/500_en.htm"
            }
        }
    };
    $.ajax(ajaxParam)
};

顶部