将搜索结果保存到JTable中

时间:2017-11-28 22:21:30

标签: java swing httpurlconnection

//我尝试创建一个函数来捕获搜索某些字符串的所有结果,//但我只捕获一个元素而我的for不会继续//我的搜索的所有结果。 //我的循环序列中有错误? //你有任何吸食吗?

//这是我的代码。 //对不起我的代码是西班牙语。

private void Buscar(String tema){
    String url = "http://www.google.com/search?q="+tema;
    String resultado;
    String[] resultados;
    DefaultTableModel model = (DefaultTableModel) jT_ResultadosBusqueda.getModel();
    int contacampos;
    try{
        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();
        con.setRequestMethod("GET");
        con.setRequestProperty("User-Agent", USER_AGENT);
        BufferedReader in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
        StringBuffer response = new StringBuffer();
        while ((tema = in.readLine()) != null) {
        response.append(tema);
    }
    in.close();
    resultado = response.toString();
    resultados = resultado.split("<a href=\"/url?q=");
    contacampos = 1;
    do{
        for (int i = 0; i < resultados.length; i++) {
            //JOptionPane.showMessageDialog(this,i);
            //JOptionPane.showMessageDialog(this,resultados.length);
            int inicio = resultados[i].indexOf("\"http");
            //JOptionPane.showMessageDialog(this,inicio);
            int fondo = resultados[i].indexOf("\">");
            //JOptionPane.showMessageDialog(this,fondo);
            String result = resultados[i].substring(inicio + 1, fondo);
            model.addRow(new Object[]{result,"Ejemplo1","Tema1","Asunto1","www.1.com"});
        }
                        contacampos = contacampos +1;
    }while(contacampos<resultados.length);          

    }catch(HeadlessException | IOException e){
        JOptionPane.showMessageDialog(this,e.getMessage (),"¡Aviso!",JOptionPane.ERROR_MESSAGE);
    }
}

1 个答案:

答案 0 :(得分:0)

解决方案是Jsoup。

这是我的实际代码。

private void Buscar(String tema){
        try {
            // TODO add your handling code here:
            org.jsoup.nodes.Document doc = Jsoup.connect("http://www.google.com/search?q="+tema).get();
            DefaultTableModel model = (DefaultTableModel) jT_ResultadosBusqueda.getModel();
            //doc.title()
            Elements link = doc.select("a[href]");
            for (Element linkline : link) {
                JOptionPane.showMessageDialog(this,linkline);
                model.addRow(new Object[]{linkline.tagName(),linkline.id(),"","",""});
            }
        } catch (IOException ex) {
            Logger.getLogger(Buscador.class.getName()).log(Level.SEVERE, null, ex);
        }
    }