質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

解決済

3回答

4389閲覧

高度なjavascriptで構成されたサイトのスクレイピング

araposama

総合スコア13

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

1クリップ

投稿2016/04/12 15:13

質問

このような画面から、刻々と変わるFXの価格をプログラムで取得したいのですが、どのような方法があるでしょう。.NETから使用できる方法が希望です。

https://fx.click-sec.com/neo/web/trade

前提知識

.NETのWebBrowserクラスの使用経験はあります。WebBrowserだけでは、このような高度なサイトの分析は難しいのではと考えています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

おそらくWeb開発をほとんどしたことがない方なのですよね。なのでスクレイピング以前に、単なるブラウザの使い方が中心になるのですが。

まずこのトップ画面のレートがパカパカしていることろの情報が取れればいいのではないでしょうか?

GMOクリック証券 - FXなど投資を身近にもっと便利にするネット証券会社
https://www.click-sec.com/

だとするならば、まずはどうやって情報を取得しているのかを調べます。ChromeでもFireFoxでもIEでもEdgeでもほぼ同じですが一応Chromeで説明します。まずF12を押し開発者ツールを開きNetworkを開きます。

そしてレートが変化したときに発生したリクエストを見ると、以下のURLで、
https://www.click-sec.com/data/fxneo/rate/rate.csv?_=1460479578816

中身がこんな感じのCSVであることが分かります。

csv

1USD/JPY,108.757,108.760,822,108.766,107.869,-26,24,1,2016/04/13 01:53:27 2EUR/JPY,123.752,123.758,678,123.998,123.066,5,-8,1,2016/04/13 01:53:27 3GBP/JPY,155.000,155.011,1378,155.514,153.497,-31,28,1,2016/04/13 01:53:27 4AUD/JPY,83.345,83.352,1385,83.349,81.863,-54,51,1,2016/04/13 01:53:26 5NZD/JPY,75.079,75.093,1083,75.082,73.914,-54,50,1,2016/04/13 01:53:27 6CAD/JPY,84.998,85.015,1325,84.999,83.544,-21,18,1,2016/04/13 01:53:27

なので、スクレイピングではなく、単にリクエストを投げ、CSVで値を受け取れることがすぐにわかります。

後ろについている「1460479578816」はおそらくキャッシュ対策なのでしょう。きちんと見てませんが、おそらく「(new Date()).getTime()」そして得られた値を付けるだけで問題ないと思います。

という感じなのですが。伝わりますか?

投稿2016/04/12 17:03

miu_ras

総合スコア902

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/04/12 17:41

お、これ面白いですね。
araposama

2016/04/14 12:11

これはすごい。発生したリクエストを解析するという発想がありませんでした。Web開発の経験がある人なら普通のことなのでしょうが、大変助かりました。他の方と違い適切なご回答です。ありがとうございます!
guest

0

スクレイピングせずともAPIで公開されているものもあるようです。
「FX API」で検索されれば、望まれるものに近いものがあるかもしれません。

投稿2016/04/12 15:25

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

araposama

2016/04/14 11:46

質問内容への回答になっていませんね。
guest

0

直接的な回答ではありません。

古くは、半二重のアナログモデムの時代より、
株価などは、専用サービスが有りました。
一般経営者に、コンピュータの力を知らしめたのは
日経WHO'S WHO とほぼ同時に始まった、ネットワークサービスでした。
それには、Ticker サービスも含まれ、株価提供の機能も含まれていました。
時は移り、
高速売買でサヤを稼ぐ方々は、世界中のシステムの応答速度の違いを利用して、
サヤトリを行う事が可能な処まで来ています。
専用の高速回線と、データサービス、高速な環境を使って、限りなく市場の速度に近く。


外貨市場は、世界中の何処かで市場が開いています。
手数料と、情報提供料が十分ペイするレベルにある単位で売り買いをする前程で、
他の市場の売り買いの結果と、異なる価格が付いている市場で、売買することにより、
サヤトリが可能です。

投稿2016/04/12 15:49

編集2016/04/12 15:52
daive

総合スコア2028

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

araposama

2016/04/14 11:47

何ですかこれは。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問