/** * not very nice .. code duplicate and exit not nice * * @param range */ public void loaderFrom(int range) { int numPage; boolean retry = false; for (StockGeneral g : CacheStockGeneral.getIsinCache().values()) { Consensus cnote = ConsensusParserInvestir.fetchStock(g.getCode()); String url = startUrl + getPlace(g.getPlace()) + midUrl + g.getRealCodif() + endUrl + 0; try { String text; int loopPage = 0; // inifinite loop do { text = ParserCommon.loadUrl(new URL(url)); if (text == null) retry = true; else retry = false; } while (retry); Document doc = Jsoup.parse(text); BatchPoints bp = InfluxDaoConnector.getBatchPoints(StockHistory.dbName); Elements links = doc.select(refCode); int count = 0; for (Element link : links) { if (link.children().size() > 40) { Elements sublinks = link.children().select("tr"); for (Element elt : sublinks) { Elements t = elt.select("td"); if (t.size() > 3) { loopPage++; StockHistory hist = new StockHistory(g); hist.setDayGoogle(t.get(0).text()); hist.setOpening( new Double( t.get(1).text().replaceAll(" ", "").replace(",", "").replace("-", "0"))); hist.setHighest( new Double( t.get(2).text().replaceAll(" ", "").replace(",", "").replace("-", "0"))); hist.setLowest( new Double( t.get(3).text().replaceAll(" ", "").replace(",", "").replace("-", "0"))); hist.setValue( new Double( t.get(4).text().replaceAll(" ", "").replace(",", "").replace("-", "0"))); hist.setVolume( new Double( t.get(5).text().replaceAll(" ", "").replace(",", "").replace("-", "0"))); hist.setConsensusNote(cnote.getNotation(cnote.getIndice(loopPage + 0)).getAvg()); HistoryParser.saveHistory(bp, hist); System.out.println(hist.toString()); if (++count >= range) break; } } } } InfluxDaoConnector.writePoints(bp); } catch (IOException e) { e.printStackTrace(); System.out.println("ERROR for : " + g.getName()); } } }
public void loaderSpecific(StockGeneral g) { int numPage; boolean retry; String startUrl = "http://www.google.com/finance/historical?q=FRA%3A"; Consensus cnote = ConsensusParserInvestir.fetchStock(g.getCode()); for (numPage = 0; numPage <= MAXPAGE; numPage += PAGINATION) { String url = startUrl + g.getCodif() + endUrl + numPage; try { String text; int loopPage = 0; // inifinite loop do { text = ParserCommon.loadUrl(new URL(url)); if (text == null) retry = true; else retry = false; } while (retry); Document doc = Jsoup.parse(text); BatchPoints bp = InfluxDaoConnector.getBatchPoints(StockHistory.dbName); Elements links = doc.select(refCode); for (Element link : links) { if (link.children().size() > 40) { Elements sublinks = link.children().select("tr"); for (Element elt : sublinks) { Elements t = elt.select("td"); if (t.size() > 3) { loopPage++; StockHistory hist = new StockHistory(g); hist.setDayGoogle(t.get(0).text()); hist.setOpening( new Double( t.get(1).text().replaceAll(" ", "").replace(",", "").replace("-", "0"))); hist.setHighest( new Double( t.get(2).text().replaceAll(" ", "").replace(",", "").replace("-", "0"))); hist.setLowest( new Double( t.get(3).text().replaceAll(" ", "").replace(",", "").replace("-", "0"))); hist.setValue( new Double( t.get(4).text().replaceAll(" ", "").replace(",", "").replace("-", "0"))); hist.setVolume( new Double( t.get(5).text().replaceAll(" ", "").replace(",", "").replace("-", "0"))); hist.setConsensusNote( cnote.getNotation(cnote.getIndice(loopPage + numPage)).getAvg()); HistoryParser.saveHistory(bp, hist); // dont save no trading day System.out.println(hist.toString()); } } } } InfluxDaoConnector.writePoints(bp); } catch (IOException e) { e.printStackTrace(); System.out.println("ERROR for : " + g.getName()); } } }