質問

私は科学的な計算のバックグラウンドから来ており、人気のある非人気(アドホック)プログラミング言語でいくつかの歴史がありますが、クライアントサイドプログラミングとJavaScriptとは完全に異質です。

Greasemonkeyの設定のための些細なJavaScriptを以前に書きましたが、それだけです。

私の質問が懸念しています: http://www.ise.org/sirketler/sirketler.aspx

トルコのイスタンブール証券取引所のサイトであるURLに記載されているテーブルから証券と企業に関するすべてのデータを取得しようとしています。

このデータは、会社の名前が始まる文字に従って分類されたグリッドテーブル内で提供され、グリッドあたり最大10行で表示されているように与えられます。また、ページの右下に、この情報がいくつか広がっているのかを書いています。

たとえば、FireBugコンソールから電話をかけることができます。

__doPostBack('ctl00$cphContent$ctl00$lbtnT','')

「T」から始めて企業を獲得するために、次を発行することでこれらのテーブルのタブを閲覧できます。

__doPostBack('ctl00$cphContent$ctl00$radGridSirketler$ctl00$ctl03$ctl01$ctl05','')
__doPostBack('ctl00$cphContent$ctl00$radGridSirketler$ctl00$ctl03$ctl01$ctl07','')
__doPostBack('ctl00$cphContent$ctl00$radGridSirketler$ctl00$ctl03$ctl01$ctl09','')

など。このテーブルのそれぞれ1番目、2番目、3番目のページ。

私はこれを発行してシリアル化しようとしました __doPostBack() 上記の固定文字列に連結することにより、特定の文字と数字の配列の方法が成功しませんでした。

では、どうすれば使用できますか __doPostBack() これらの結果のサブテーブルのすべてをメソッドと追加し、全体的なデータを取得しますか?

このようなタスクのために読むリソースはありますか?

すべてのJSハッカーからのアマチュアの質問をお詫びします。

役に立ちましたか?

解決

うまくいけば、この例があなたの道を啓発します:

// ==UserScript==
// @name           Examples : sirketler
// @namespace      http://gm.wesley.eti.br/examples
// @description    Simulation of an aspx PostBack request
// @include        http://www.ise.org/sirketler/sirketler.aspx
// @require        http://userscripts.org/scripts/source/63808.user.js
// @require        http://userscripts.org/scripts/source/89515.user.js
// ==/UserScript==

AspxPostBackRequest({
    "url" : "http://www.ise.org/sirketler/sirketler.aspx",
    "manager" : "ctl00$ScriptManager1",
    "eventTarget" : "ctl00$cphContent$ctl00$lbtnT",
    "callback" : function(xhr)
    {
        var content = document.createElement("div");
        content.innerHTML = xhr.responseText.split("|")[3];

        alert(xpath("./div/table/tbody/tr", content).map(function(row)
        {
            return [].slice.call(row.cells).map(function(col)
            {
                return col.textContent.replace(/^\s+|\s+$/gm, "");
            });
        }).join("\n"));
    }
});
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top