まず最初に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 件のコメント:
コメントを投稿