C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[9]: Web上のデータ取得について


(過去ログ 120 を表示中)

[トピック内 15 記事 (1 - 15 表示)]  << 0 >>

■70006 / inTopicNo.1)  Web上のデータ取得について
  
□投稿者/ みく (1回)-(2014/02/17(Mon) 14:12:48)

分類:[VB.NET/VB2005 以降] 

ソースの取得できないWebがあります。
例えばこのようなのです。
http://sekai-kabuka.com/
この中にある日経平均などのリアルタイムで変動する数値を連続で取得したいのですが無理でしょうか?
初心者ですので優しく教えてください。
お願いします。

引用返信 編集キー/
■70015 / inTopicNo.2)  Re[1]: Web上のデータ取得について
□投稿者/ Jitta (129回)-(2014/02/17(Mon) 21:19:05)
No70006 (みく さん) に返信
> ソースの取得できないWebがあります。
> 例えばこのようなのです。
> http://sekai-kabuka.com/
> この中にある日経平均などのリアルタイムで変動する数値を連続で取得したいのですが無理でしょうか?
> 初心者ですので優しく教えてください。
> お願いします。
>
「ソースの取得」はできますよ?
まぁ、グラフの元になるデータは、ここじゃわかりませんけど。
たいていは、
http://www.bing.com/search?q=%E6%A0%AA%E4%BE%A1%E6%83%85%E5%A0%B1%E9%85%8D%E4%BF%A1%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&qs=AS&form=QBRE&pq=%E6%A0%AA%E4%BE%A1%E6%83%85%E5%A0%B1+%E9%85%8D%E4%BF%A1&sc=1-7&sp=1&sk=
こういうところから情報を引っ張ってきます。
引用返信 編集キー/
■70018 / inTopicNo.3)  Re[2]: Web上のデータ取得について
□投稿者/ みく (2回)-(2014/02/17(Mon) 22:37:36)
2014/02/17(Mon) 23:58:44 編集(投稿者)
2014/02/17(Mon) 23:56:54 編集(投稿者)

すみません。
このサイトのソースの取得は出来ました。

実は、カブドットコム証券 [kabu.com] の 「カブボードフラッシュ ボード」 の数値を取得したかったのです。
このボードは仕様が違うようでソースの取得が出来ません。
ちょっと特殊ですがご存知でしたらお願いします。
引用返信 編集キー/
■70027 / inTopicNo.4)  Re[3]: Web上のデータ取得について
□投稿者/ Jitta (131回)-(2014/02/18(Tue) 22:24:37)
No70018 (みく さん) に返信

http://kabu.com/feature/
ここにあるツールを利用することを考えた方が良いと思いますけど?

おそらく、ソースが取得できないのではなく、ソースを取得しても目的の情報が見つからないのだと思います。
それは、「リアルタイムで表示」しているのであれば、スクリプトでリアルタイムに問い合わせを行い、
HTML 上の規定の ID を持った要素に書き出しを行っているからです。
スクリプトを読み解くことができなければ、目的の情報にたどり着けません。

それよりも、ツールが提供されているのですから、それを利用するのがよいと思います。
自分で取得しなければならない理由があるのでしょうか?
引用返信 編集キー/
■70039 / inTopicNo.5)  Re[4]: Web上のデータ取得について
□投稿者/ みく (3回)-(2014/02/19(Wed) 22:41:56)
No70027 (Jitta さん) に返信

予想以上に難しそうですね。
正にその通りで肝心の数値が取得できません。

ツールはありますので見てる段にはそれで十分ないのですが、自作のプログラムで活用したいのです。
引用返信 編集キー/
■70040 / inTopicNo.6)  Re[5]: Web上のデータ取得について
□投稿者/ tinq (8回)-(2014/02/20(Thu) 00:54:01)
とりあえず、ブラウザの開発者ツール(ChromeなどではF12)やWiresharkなどを使ってどのURLと通信を行っているか確認なさってみてはいかがでしょう。
そのサイトの構造は見ていませんが、JSONとかXMLで取得しているだけとかかもしれません。
引用返信 編集キー/
■70041 / inTopicNo.7)  Re[6]: Web上のデータ取得について
□投稿者/ kumatti (3回)-(2014/02/20(Thu) 07:56:57)
IEのメニュー操作からソースを確認出来ないだけで普通に取れると思いますが。
ShellWindowsでもWM_HTML_GETOBJECTでもNewWindow2 イベントでもお好きな方法で取り組まれたらいいのでは。
引用返信 編集キー/
■70052 / inTopicNo.8)  Re[6]: Web上のデータ取得について
□投稿者/ みく (4回)-(2014/02/21(Fri) 12:27:37)
No70040 (tinq さん) に返信

ありがとございます。
ブラウザの開発者ツール、見てみました。
すみません、超初心者の私にはどうにもなりません。
引用返信 編集キー/
■70053 / inTopicNo.9)  Re[7]: Web上のデータ取得について
□投稿者/ みく (6回)-(2014/02/21(Fri) 12:32:49)
No70041 (kumatti さん) に返信

ありがとございます。
ShellWindowsとはどのようなのでしょう?

今は下記のようにしてソースを読み込みデータとして利用しています。
ただ、これはYahoo!サイトですし、このプログラムも教えて頂いたもので詳しくは分りません。

Dim url As String
url = "http://stocks.finance.yahoo.co.jp/stocks/detail/?code=1301.T"
Dim req As System.Net.WebRequest = System.Net.WebRequest.Create(url)
Dim WebDat As String
Using res As System.Net.WebResponse = req.GetResponse()
Dim sr As New System.IO.StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8)
WebDat = sr.ReadToEnd()
res.Close()
End Using
引用返信 編集キー/
■70054 / inTopicNo.10)  Re[7]: Web上のデータ取得について
□投稿者/ nobb (6回)-(2014/02/21(Fri) 16:04:45)
kabu.comAPIは目的の機能を提供していないでしょうか?
http://kabu.com/company/pressrelease/2012/20120528.asp

株に関しては全く分からないので、上記URLに記載されている「kabu.com API」提供機能詳細 で目的の機能(データ)が提供されているようなら
それを取得し、整形して表示するといった手順が取れるかと思います。
引用返信 編集キー/
■70055 / inTopicNo.11)  Re[7]: Web上のデータ取得について
□投稿者/ tinq (9回)-(2014/02/21(Fri) 20:44:50)
No70052 (みく さん) に返信
GoogleChromeの場合、Networkタブを開いてwebページを読み込むと取得されたファイルがリアルタイムで一覧表示されます。
数が多い場合はろうとのマークでDocumentsやScripts、XHR、Otherのあたりをクリックして絞り込んでそれらしきデータがないか確認してください。

引用返信 編集キー/
■70056 / inTopicNo.12)  Re[8]: Web上のデータ取得について
□投稿者/ Azulean (269回)-(2014/02/22(Sat) 00:20:24)
No70053 (みく さん) に返信
> 今は下記のようにしてソースを読み込みデータとして利用しています。
> ただ、これはYahoo!サイトですし、このプログラムも教えて頂いたもので詳しくは分りません。

まず、そのコードが何をするものなのか、調べ、理解するようにしましょう。
「もらったコードが動いたから OK」では、何か不具合が起きたとき、新たな要望が発生したときに何も動けません。

どのような目的・立ち位置でプログラムを作成されているのかわかりませんが、ソースコードは自分で理解し、説明できるようになっておく方が望ましいです。
なぜなら、多くの場合はそれを土台にさらに新しいことに取り組むことになるのですから、その土台を理解できていないと、新しい課題に対する技術・解決策を理解できず、やりたいことの実現がより困難になります。

さて、該当のサイトは JavaScript で動的に HTML を書き換えているのだと考えられます。
HTML のソースを取得しただけではお望みの数値取得は実現できません。JavaScript を解釈させて実行させるか、JavaScript がやっていることを自らのコードで実現する必要があるはずです。
(この手のサービスをプログラムから自動取得すると、相手に想定外の負荷をかけてトラブルになることもあるのでご注意ください)


なお、コードの執筆のお願いは、質問ではありません。
キーワードを元にお調べいただく、どういった仕組みでHTML が動的に書き換わるかの基礎的な部分を勉強していただくか、いろいろとチャレンジしてみてください。
その上でわからないポイントを明確に示して質問していただけると、よりよいコミュニケーションがとれるかと思います。


No70054 (nobb さん) に返信
> kabu.comAPIは目的の機能を提供していないでしょうか?

確か、API の利用には kabu.com の承認が必要なはずなので手軽にはできないと思われます。
>当面は当社と個別に「kabu.com API 利用契約」を締結したトレードツール提供業者様向けに提供して参ります
引用返信 編集キー/
■70057 / inTopicNo.13)  Re[8]: Web上のデータ取得について
□投稿者/ kumatti (4回)-(2014/02/22(Sat) 08:28:29)
情報を取り出す以前のログインも出来てない状態だと、VBよりVBAやVBSの方がいいのではと言う気もします。

ご参考
Excel VBAでIEを思いのままに操作できるプログラミング術
IEを自在に操るExcel VBAプログラミング入門
引用返信 編集キー/
■70060 / inTopicNo.14)  Re[8]: Web上のデータ取得について
□投稿者/ kumatti (5回)-(2014/02/22(Sat) 11:11:18)
VBAの例で恐縮ですが、こんな感じで一気に抜けます。
'現値
For Each v In IE.document.getElementsByClassName("DPP")
Debug.Print v.innerText
Next
引用返信 編集キー/
■70349 / inTopicNo.15)  Re[9]: Web上のデータ取得について
□投稿者/ みく (7回)-(2014/03/14(Fri) 12:57:37)
2014/03/14(Fri) 13:01:27 編集(投稿者)

急に色々あって途切れてしまってすみません。

調べてみましたが、数値などはJavaScriptを使って表示してるようです。
なので、Azuleanさんも言っておられたようにHTMLのソースを取得しただけでは駄目なようです。

またkumattiさんのVBAの例も私には分かりませんでした。

他の皆さんにも色々教えていただいたのですが超初心者の私にはやっぱり無理でした。

すみません、諦めます。
また機会があったら教えてくださいね。
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -