Определение вызываемого файла JSON в Javascript для использования в cURL для интеллектуального анализа данных - щебетать как кнопка «еще» - PullRequest
1 голос
/ 04 июля 2011

Я пытаюсь извлечь поток исторических сообщений сайта, как в твиттере.В основном мы все знаем кнопку «БОЛЬШЕ» в Twitter.Этот сайт имеет нечто похожее и выглядит так, как будто он захватывает объект JSON и анализирует его.Как я могу выяснить, что / где находится объект JSON, чтобы я мог использовать что-то вроде CURL для извлечения данных ...

Более подробный код JavaScript показан здесь:

more : function () {
    if (!this.max_id)
        return false;
    var c = this;
    if ($("#updates-more .message").length == 0) {
        var b = $("#updates .message:last");
        if (b.length > 0) {
            b = parseInt(b.attr("id").replace("message_", ""), 10);
            if (!isNaN(b))
                this.max_id = b
        }
    }
    var a = {
        stream : this.stream,
        max : this.max_id
    };
    if (this.poll_id)
        a.item_id = this.poll_id;
    this.paused ||
    $("a.pause").trigger("click");
    $("#more-button").hide();
    $("#more-button-loading").show();
    $.getJSON("/streams/poll?" + $.param(a), function (d) {
            $("#more-button-loading").hide();
            if (d.messages) {
                d.more === false ? $("#more-button").hide() : $("#more-button").show();
                var f = [],
                g = [];
                $(d.messages).find("li.message").each(function () {
                        g.push($($(this).outerHtml()));
                        f.push(parseInt($(this).attr("data-ape").replace("messages_", ""), 10))
                    });
                if (g.length > 0) {
                    if (d.max)
                        c.max_id = d.max;
                    g[0].addClass("break");
                    $("#spaceape").trigger("broadcast", {
                            messages : f.join(","),
                            object : {
                                id : a.stream,
                                type : "stream"
                            },
                            verb : "append",
                            type : "messages"
                        });
                    for (d = 0; d < g.length; d++) {
                        g[d].find(".body").stText();
                        g[d].find(".msgDate").stDate();
                        g[d].appendTo("#updates-more")
                    }
                }
            }
        })
}

1 Ответ

0 голосов
/ 07 августа 2011

Строка сценария, которую вы ищете, есть такая:

$.getJSON("/streams/poll?" + $.param(a), function (d) {

Эта строка выполняет JSON-запрос к серверу и возвращает JSON-объект 'd'. 'd' Содержит список сообщений, каждое из которых содержит данные, которые я предполагаю, что вы ищете. Это был немного открытый вопрос - это то, что вы искали?

...