0
// Ich versuche eine Funktion zum Abfangen aller Ergebnisse der Suche nach einem String zu machen, // aber ich fange nur ein Element ab und mein geht nicht weiter zu allen Ergebnissen von // meiner Suche. // Es gibt einen Fehler in meiner Schleifensequenz? // Haben Sie eine Verschluckung?Suchergebnisse in JTable speichern
// Dies ist mein Code. // Sorry mein Code ist in Spanisch.
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);
}
}
Anstatt zu versuchen, das Rad neu zu erfinden, vielleicht auf einige der verfügbaren Parsen einen Blick, wie [jsoup] (https://jsoup.org) – MadProgrammer
Ich werde die JSoup überprüfen. Danke für Ihre Hilfe. –