Pessoal,
Estou desenvolvendo um aplicativo que lê informações de um website, filtra o que é importante e apresenta ao usuário só o que é interessante para ele, para isso estou usando o HttpClient do appache e tenho algumas dúvidas:
1 - Existem sites que retornam o conteúdo html e outros que não retornam, por que isso acontece? Tem alguma forma de pegar o html de qualquer site? No exemplo abaixo se eu passo a url do google o length retornado é -1, se eu passo a url do terra funciona. Tem solução?
public static void main(String aRGS[]) throws Exception {
HttpClient client;
client = new DefaultHttpClient();
HttpGet get = new HttpGet("http://www.terra.com.br");
HttpResponse resp = client.execute(get);
HttpEntity entity = resp.getEntity();
if (entity != null) {
long len = entity.getContentLength();
System.out.println(len);
if (len != -1) {
System.out.println(EntityUtils.toString(entity));
} else {
}
}
}
2- Em .Net existe uma api que organiza o html que estou trabalhando no código, de forma que eu possa navegar nele hierarquicamente. Tipo, eu posso pegar uma div, separar em um objeto para depois trabalhar com um universo menor de informações. Em Java tem algo parecido?