htmlについてお聞きします。


ページは「外為ジャパンの為替レート」
http://www.gaitamejapan.com/fx/rate.html
このページの為替レートをEXCELのWEBクエリで取得したいのですが横線が表示され取得できません。

レート表示は以下のURLの様ですがここから解読をお願いします。
http://www.gaitamejapan.com/fx/rate.php

以上、宜しくお願いします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/05/16 21:24:15
  • 終了:2011/05/20 04:38:43

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4442ベストアンサー獲得回数18252011/05/16 21:50:02

ポイント35pt

データのところに "-" が入ったさみしい表しか表示されない、ということですよね。

この rage.php を表示したときに、ブラウザの「ソースを表示する」でみると分かるのですが、このリクエストで返ってくるのが、

データが全て "-" の表になってて、その後、javascript でデータが更新されています。


実際にデータを取得する URL は、http://www.gaitamejapan.com/market/rate/getrate.php です。

ブラウザで表示してみると分かりますが、以下のような体裁でデータが返ってきます (JSON と言われる形式です)。

{"timestamp":"1305549855213","rate":[{"timestamp":"1305549854253","currency_pair":"NZDJPY","bid":"62.861","ask":"62.891","bid_high":"63.696","bid_low":"62.650","change":"-0.699","buy_swap":"39","sell_swap":"-49"},
    (以下、省略)

Excel だけでやりたければ、VBA で解析するしかないかなあ、という感じ。

id:spyglass

早速の回答、ありがとう御座います。

CSVに似てますがJSONと言うのですね、なるほど。

通貨名から(VBAで)bid値をカットして取り出せば目的の回答を満たせそうです。


できましたら、もう一つ質問なのですが・・・

データ中の13桁のタイムスタンプから実際の日時・時間を取り出すにはどうすれば良いでしょうか?

ご回答頂ければ幸いです。

2011/05/16 22:13:19

その他の回答(2件)

id:a-kuma3 No.1

a-kuma3回答回数4442ベストアンサー獲得回数18252011/05/16 21:50:02ここでベストアンサー

ポイント35pt

データのところに "-" が入ったさみしい表しか表示されない、ということですよね。

この rage.php を表示したときに、ブラウザの「ソースを表示する」でみると分かるのですが、このリクエストで返ってくるのが、

データが全て "-" の表になってて、その後、javascript でデータが更新されています。


実際にデータを取得する URL は、http://www.gaitamejapan.com/market/rate/getrate.php です。

ブラウザで表示してみると分かりますが、以下のような体裁でデータが返ってきます (JSON と言われる形式です)。

{"timestamp":"1305549855213","rate":[{"timestamp":"1305549854253","currency_pair":"NZDJPY","bid":"62.861","ask":"62.891","bid_high":"63.696","bid_low":"62.650","change":"-0.699","buy_swap":"39","sell_swap":"-49"},
    (以下、省略)

Excel だけでやりたければ、VBA で解析するしかないかなあ、という感じ。

id:spyglass

早速の回答、ありがとう御座います。

CSVに似てますがJSONと言うのですね、なるほど。

通貨名から(VBAで)bid値をカットして取り出せば目的の回答を満たせそうです。


できましたら、もう一つ質問なのですが・・・

データ中の13桁のタイムスタンプから実際の日時・時間を取り出すにはどうすれば良いでしょうか?

ご回答頂ければ幸いです。

2011/05/16 22:13:19
id:a-kuma3 No.2

a-kuma3回答回数4442ベストアンサー獲得回数18252011/05/16 22:38:49

ポイント35pt

データ中の13桁のタイムスタンプから実際の日時・時間を取り出すにはどうすれば良いでしょうか?

javascript の Date (日付を表すクラス) の表現で、1970年1月1日0時0分からの通算ミリ秒です。

Excel でやるなら、TEXT 関数が使えますね。

Excel だと日付は 1900年1月1日 0時0分が 1 なので、1970年1月1日0時0分 は 25569 ですから、

(13桁の数値)/1000/60/60/64 + 25569

を、セルに入れて、表示形式を日付+時刻にするか、VBA で Format 関数を使う、って感じですかね。


後、javascript の時刻表現は UTC なので、日本時間に直すなら、9時間ずらすこともお忘れなく。


回答数の上限に達したので、話が続くなら、上限数を増やすか、コメント欄を開いておいてください。

id:spyglass

続けて回答ありがとう御座います。

因みに上記一つ目の13桁をa-kuma3さんの公式で入力してみました。

=(1305549855213)/1000/60/60/64 + 25569

そうすると日時に変換されたのですが・・・

1985/7/7 10:46:36

こんなに古い日時になってしまいました。

何かおかしいのでしょうか?

コメント欄、開いてあります。

2011/05/17 20:16:42

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 Banias 237 215 19 2011-05-16 23:09:57
  • id:a-kuma3
    > 1985/7/7 10:46:36
    > こんなに古い日時になってしまいました。

    ごめん、タイプミス。
    =(1305549855213)/1000/60/60/24 + 25569

    64 じゃなくて、24 で割らなきゃいけない (^^;
  • id:spyglass
    > a-kuma3 さん
    完璧です、Good job!!
    (^o^¥

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません