[英]Save search results into JTable
//我試圖創建一個函數來捕獲某個字符串的所有搜索結果,//但我只捕獲了一個元素,而for並沒有繼續// my搜索的所有結果。 //我的循環順序有錯誤嗎? //您有糖尿嗎?
//這是我的代碼。 //對不起,我的代碼是西班牙文。
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);
}
}
解決方案是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);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.