data get

来源:互联网 发布:java小技术分享 编辑:程序博客网 时间:2024/06/06 10:04
package org.tang.stock;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.text.SimpleDateFormat;import java.util.Date;public class CatchHTML {static String dir = "D:\\stock\\";static String stocks = "sz300 310";static String urlString = "http://hq.sinajs.cn/list=" + stocks;static String lastTime[] = null;static BufferedWriter files[] = null;public static void main(String[] args) {try {init();boolean flag = true;while (flag) {String data = captureHtml(urlString);flag = handleData(data);Thread.sleep(1000);}} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}private static void init() throws IOException {String stock[] = stocks.split(",");lastTime = new String[stock.length];files = new BufferedWriter[stock.length];String directroy = dir+ new SimpleDateFormat("yyyy-MM-dd").format(new Date());new File(directroy).mkdirs();for (int i = 0; i < stock.length; i++) {lastTime[i] = "09:15:00";FileWriter tofile = new FileWriter(directroy + "\\" + stock[i]+ ".txt", true);files[i] = new BufferedWriter(tofile);}}private static boolean handleData(String data) throws IOException {String stockString[] = data.split(";");for (int i = 0; i < stockString.length; i++) {StringBuilder buffer = new StringBuilder();String sData[] = stockString[i].split(",");if (sData[31].compareTo("09:15:00") < 1|| (sData[31].compareTo("11:30:20") >=0 && sData[31].compareTo("13:30:00") < 1)) {return true;} else if (sData[31].compareTo("15:01:00") >=0) {if(sData[30].compareTo(new SimpleDateFormat("yyyy-MM-dd").format(new Date())) < 1)return true;return false;} else if (sData[31].compareTo(lastTime[i]) > 0) {lastTime[i] = sData[31];} else {continue;}for (int j = 0; j < 20; j++) {buffer.append(sData[10 + j] + ",");}buffer.append(sData[31]);// System.out.println(buffer);files[i].write(buffer.toString());files[i].newLine();files[i].flush();}return true;}public static String captureHtml(String urlString) throws Exception {URL url = new URL(urlString);HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();InputStreamReader input = new InputStreamReader(httpConn.getInputStream(), "GBK");BufferedReader bufReader = new BufferedReader(input);String line = "";StringBuilder contentBuf = new StringBuilder();while ((line = bufReader.readLine()) != null) {contentBuf.append(line);}return contentBuf.toString();}}

 

http://biz.finance.sina.com.cn/stock/flash_hq/kline_data.php?symbol=600031&end_date=20110801&begin_date=20110804