Meu código não está dando certo, ele retorna Vazio. Eu queria que o usuário digita-se uma palavra e o programa pesquisa-se na internet e retornasse uma imagem sobre o assunto. Alguém sabe porquê não está funcionado?
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class GravarNoArquivoLocal {
public static void main(String[] args) {
Scanner te = new Scanner(System.in);
System.out.println("PEGANDO IMAGEM DA INTERNET");
System.out.println("Insira um nome");
String nome = te.next();
String busca = new String("https://www.google.com.br/search?site=imghp&tbm=isch&source=hp&q=");
String imagem = new String(nome);
URL url = null;
try {
url = new URL(busca + imagem);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("user-agent", "Mozilla/5.0");
BufferedReader bR = new BufferedReader(new InputStreamReader(con.getInputStream()));
String html = new String(bR.readLine());
bR.close();
try {
parseImg(html);
} catch (InterruptedException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("TÉRMINO");
}
public static void parseImg(String html) throws IOException, InterruptedException {
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("C:\\Opensource\\html.txt")));
bw.write(html);
bw.close();
Document doc = Jsoup.parse(new File("C:\\Opensource\\html.txt"), "UTF-8");
Elements imgs = doc.getElementsByTag("img");
for (Element element : imgs) {
System.out.println(element.attr("src") + element.text());
}
}
}