アプリ版:「スタンプのみでお礼する」機能のリリースについて

yahoo ファイナンスから全銘柄(約4000銘柄)の日足の時系列(30年分で1銘柄あたり最大でURLを160回くらいアクセスしています)を Excel VBA の XML で取得しようとしています。

スタートしてからの50銘柄位はうまくいくのですが、しばらくすると、Send時にエラー(サーバーにアクセスできない)が出ます。
その時に、IEで時系列を手動で確認すると、「ご覧になろうとしているページは現在表示できません。 ・・・」というメッセージのページが出ます。
ルーターを再起動すると、「ご覧になろうとしているページは現在表示できません。 ・・・」というメッセージのページは表示されなくなるのですが、スタートしてしばらくすると、また同じ表示が出ます。

どうやったら、サーバーに拒否されずに全銘柄を取得できるのでしょうか?



Sub test()


With oHttp

   myURL_時系列 =・・・   'Yahoo ファイナンスの時系列のページのURL

.Open "GET", myURL_時系列, False

On Error GoTo Err
.send
On Error GoTo 0


If (.Status < 200 Or .Status >= 300) Then
MsgBox "URL読み込みに失敗しました", vbExclamation + vbOKOnly, "Error!"
GoTo Err

End If



(データ取得のプログラム)


End sub

ヤフーの「ご覧になろうとしているページは現在表示できません。 ・・・」が出るときは上のコードのIf文でエラーとなっているので、yahooファイナンスのサーバーにアクセスできていないと思われます。


 Yahoo以外で30年分の日足を取得できるサイトがありましたら教えてください。

 2年くらい前に作成したプログラムですが、サーバーから拒否されることは以前はありませんでした。



 よろしくお願いします

A 回答 (1件)

こんにちは。



最近、同様の質問が増えてきました。Yahoo!ファイナンスの禁止事項をお読みになっていますか?
[Yahoo!ファイナンス掲載情報の自動取得(スクレイピング)は禁止しています ]

http://www.yahoo-help.jp/app/answers/detail/p/54 …

最近、ネットスクレイピング禁止の所が増えてきました。

現状のままですと、細かくタイミングを計り、タイマー(OnTimeメソッド)でアクセスしていくしかないと思われます。

>Yahoo以外で30年分の日足を取得できるサイトがありましたら教えてください。
それは、同好の人たちに聞いてみるしかないでしょうね。ただ、不特定の人たちが、フリーでアクセスできるサイトは無理だと思います。

> 株価データのダウンロードを利用したい場合は、「VIP倶楽部」の「時系列データダウンロード」をご利用ください。

とあります。いろいろ検討してみてください。
    • good
    • 0
この回答へのお礼

WindFallerさん、返信有難うございます。

そういうことになっていたのですか。

VBAのObjIEで「時系列データをダウンロード(CSV) 」をClick出来たので、必要な時にVIP会員に入って取得するしかなさそうですね。

有難うございました。

お礼日時:2015/04/05 09:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!