获取股票的历史数据

   从sina网站上获取,获取下来可以做分析使用,用于搭建自己的交易模型,选取

符合自己交易系统的股票。

   代码1:

   

package com.xiaole.stock;



import java.util.ArrayList;

import java.util.List;



import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;

import org.jsoup.nodes.Element;

import org.jsoup.select.Elements;



public class GetHistoryData {



    public static void main(String[] args) {

        String url = "http://money.finance.sina.com.cn/corp/go.php/vMS_MarketHistory/stockid/000952.phtml?year=2014&jidu=3";

        System.out.println(url);

        String msg = HttpService.sendHttpMsg(url, false,"gbk",null);

        Document document = Jsoup.parse(msg);

        Elements stockdatas = document.select("table#FundHoldSharesTable").select("tr");

        for(Element e : stockdatas){

            String time;

            double openPrice;

            double highPrice;

            double endPrice;

            double lowPrice;

            int dealCount;

            int dealAmount;

            Element tmp = e.select("td").select("a").first();

            if(tmp != null){

                List<String> infoList = new ArrayList<String>();

                Elements infos = e.select("td");

                for(Element info : infos){

                    String tmpMsg = info.text();

                    infoList.add(tmpMsg);

                }

                HisStockData hisData = new HisStockData();

                time = infoList.get(0);

                openPrice = Double.parseDouble(infoList.get(1));

                highPrice = Double.parseDouble(infoList.get(2));

                endPrice= Double.parseDouble(infoList.get(3));

                lowPrice= Double.parseDouble(infoList.get(4));

                dealCount= Integer.parseInt(infoList.get(5));

                dealAmount = Integer.parseInt(infoList.get(6));

                hisData.setTime(time);

                hisData.setOpenPrice(openPrice);

                hisData.setHighPrice(highPrice);

                hisData.setEndPrice(endPrice);

                hisData.setLowPrice(lowPrice);

                hisData.setDealAmount(dealAmount);

                hisData.setDealCount(dealCount);

                System.out.println(hisData.toString()); 

            }

        }



    }



}
View Code

 代码2:

package com.xiaole.stock;



public class HisStockData {

    private String time;

    private double openPrice;

    private double highPrice;

    private double endPrice;

    private double lowPrice;

    private int dealCount;

    private int dealAmount;

    public String getTime() {

        return time;

    }

    public void setTime(String time) {

        this.time = time;

    }

    public double getOpenPrice() {

        return openPrice;

    }

    public void setOpenPrice(double openPrice) {

        this.openPrice = openPrice;

    }

    public double getHighPrice() {

        return highPrice;

    }

    public void setHighPrice(double highPrice) {

        this.highPrice = highPrice;

    }

    public double getEndPrice() {

        return endPrice;

    }

    public void setEndPrice(double endPrice) {

        this.endPrice = endPrice;

    }

    public double getLowPrice() {

        return lowPrice;

    }

    public void setLowPrice(double lowPrice) {

        this.lowPrice = lowPrice;

    }

    public int getDealCount() {

        return dealCount;

    }

    public void setDealCount(int dealCount) {

        this.dealCount = dealCount;

    }

    public int getDealAmount() {

        return dealAmount;

    }

    public void setDealAmount(int dealAmount) {

        this.dealAmount = dealAmount;

    }

    @Override

    public String toString() {

        return "HisStockData [time=" + time + ", openPrice=" + openPrice

                + ", highPrice=" + highPrice + ", endPrice=" + endPrice

                + ", lowPrice=" + lowPrice + ", dealCount=" + dealCount

                + ", dealAmount=" + dealAmount + "]";

    }

}

 代码3:

if(!stockList.isEmpty()){

            String filePath = "data/stockcode.txt";

            PrintStream ps = null;

            try {

                ps = new PrintStream(new FileOutputStream(filePath));

            } catch (FileNotFoundException e1) {

                e1.printStackTrace();

            }

            for(StockItem data : stockList){

                    ps.println(data.getCode() + "\t" + data.getName());

            }

            if (null != ps) {

                ps.close();

            }

        }
View Code

 

你可能感兴趣的:(数据)