まず最初にwebページからhtmlファイルを取得しようと思います。
参考
JavaでGETを使った簡単なHTTPアクセ
テストプログラム
URLを指定して、ソース文字列を取得したい
URLからHTMLを取得するプログラム(Java)
この辺を参考にして作ってみました。
取得先のホームページはヤフーファイナンスなのですが、
上は詳細情報で、
下が時系列データです。
下のほうが表になっていて取り出すのは簡単なのですが、
上はリアルタイムも取得できます。
とりあえず難しいものは後回しにして行こうと思いますので、
今回は下の表からデータを取ることにします。
作ったプログラムは↓になります。
import java.awt.im.spi.InputMethod; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; public class getURL4 { public String getURL4(int ccode) { String aa = ""; String reqUrl = "http://stocks.finance.yahoo.co.jp/stocks/history/?code="; try { aa = getSourceText(new URL(reqUrl + ccode + ".T")); } catch (MalformedURLException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } catch (IOException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } return aa; } public static String getSourceText(URL url) throws IOException { InputStream in = url.openStream(); //接続 //文字エンコーディング InputStreamReader isr = new InputStreamReader(in, "UTF-8"); StringBuilder sb = new StringBuilder(); try { BufferedReader bf = new BufferedReader(new InputStreamReader(in)); String s; while ((s=bf.readLine())!=null) { sb.append(s); } } finally { in.close(); } return sb.toString(); } }
初コードになりますので、至らないことがあると思いますがご容赦下さい。
これで別の関数中でgetURL(code)すればhtmlが帰ってくると思います。
0 件のコメント:
コメントを投稿