▽1
●
lang_and_engine ●1000ポイント ベストアンサー |
こんにちは。
例のごとく,下記のコードで実際に動作しますので,動かしてみてください。
// 対象Webページの構造の要点: // ・tableが4つある。上から順に,基準通貨,トランザクション,ポジション,期初期末情報。 // ・1つ目から3つ目までのtable内には,入れ子のtable要素は存在しない。 // ・4つ目の期初期末情報のtableは,横に3セルあって,左端と右端のセル内には入れ子でtableがある。 // ・その入れ子になった2つのtableのそれぞれの中から,情報を取得したい。 // アクセスしたいページのURL url = "http://name-of-this-site.org/coding/dummy/1388102098q/" // このURLの中で,操作したいHTMLソースとは別に, // サーバが勝手に広告とかを表示するのでtableタグの個数が変わってしまう場合がある。 // その場合のために,サーバが勝手に表示する広告のtableをスキップして考えるために,オフセットを設ける。 // アクセスするページの状況によって,適宜この値を書き変えること。 table_count_offset = 0 // 新規IEオブジェクトを作成 ie = createOLEobj("InternetExplorer.Application") // 起動中のIEを見えるように ie.visible = True wid = hndtoid( ie.hwnd ) acw( wid ) // 対象ページを開く ie.navigate( url ) ie_wait( ie ) // まず,期初期末情報のテーブルを取得 tables = ie.document.getElementsByTagName("table") ireko_table_left = tables.item( table_count_offset + 4 ) // 5つ目 //msgbox( ireko_table_left.innerHTML ) // 4行2列目の取引損益情報を抽出 target_tr = ireko_table_left.getElementsByTagName("tr").item( 3 ) //msgbox( target_tr.innerHTML ) target_td = target_tr.getElementsByTagName("td").item( 1 ) soneki = target_td.innerText msgbox( "取引損益は" + soneki ) // 右側の入れ子tableを取得 ireko_table_right = tables.item( table_count_offset + 5 ) // 6つ目 // 2行2列目の期末預金情報を抽出 target_tr = ireko_table_right.getElementsByTagName("tr").item( 1 ) target_td = target_tr.getElementsByTagName("td").item( 1 ) kimatsy_yokin = target_td.innerText msgbox( "期末預金は" + kimatsy_yokin ) // IEがビジー状態の間待ちます procedure ie_wait( ie ) repeat sleep( 0.1 ) until ( ! ie.busy ) and ( ie.readystate = 4 ) sleep( 0.1 ) fend // コード全体の参考: // http://d.hatena.ne.jp/language_and_engineering/20090729/p1 // および http://q.hatena.ne.jp/1387280635
業者のURLです。
http://infinity-space.com/ja/demonstration.html
下の方にデモシステムのダウンロードリンクがありますのでお手数ですがシステムをダウンロードして頂きまして、システムを起動するときに、username=demo7694,p/w=4800、accoutType=demoと入力して頂ければ立ち上がります。
次に、データーを取得するページの設定ですが、HPを開いて上から2段目の行に、Main,Cahrts,Detailedinfo,Position,History,Reports,と文字が並んでいますので、Reportsを選択してRun Reportを押しますと、資金の取得ページが現れます。
以上、宜しくお願い致します。(用済み後に削除します)