Ir ao conteúdo

Java Fazer requisição e baixar arquivos utilizando Java


Ir à solução Resolvido por Staniack,

Posts recomendados

Postado

Estou tentando fazer um script em Java que automatiza o download de arquivos (Uso pessoal e para efeito de aprendizagem). No caso, eu preciso fazer uma requisição para um determinado site, escolher  o tipo de arquivo e assim baixá-lo. O site possui acervos contendo vários tipos de arquivos, vídeo, áudio, textual, etc, . (Conteúdo lícito). 

 

Eu trabalho com Java, mas nunca me aventurei nessa área. Recentemente surgiu uma necessidade de automatização e a curiosidade, mas estou quebrando a cabeça para entender quais as ferramentas que necessito.

 

Inicialmente, pensei em utilizar Web Scraping. Eu sei que é possível fazer requisição, mas não encontrei nada relacionado com arquivo como citei, apenas algumas bibliotecas que fazem algo parecido, como o Commons IO. Essa biblioteca possui alguns métodos interessantes

 

FileUtils.copyURLToFile(url, file);

 

Esse método é capaz de baixar o conteúdo mas é preciso fornecer o link direto. E, no meu caso, eu preciso primeiro fazer outras requisições antes de fazer o download propriamente dito.

 

Além do Web Scraping e o Commons IO, já tentei servlets e outras bibliotecas que fazem uso de requisição HTTP.

 

Eu sei que é por aí o caminho, mas não estou conseguindo me movimentar. Se alguém tiver experiência nessa área e puder me ajudar, eu agradeço. 

 

  • Solução
Postado

Hello, guys

 

Bom, eu consegui achar a resposta. Como eu havia dito, eu sabia o caminho mas não sabia o primeiro passo. Mas felizmente consegui alcançar esse primeiro passo.

 

Há um browser sem cabeçalho chamado HtmlUnitfeito em Java. Incrivelmente eu nunca tinha ouvido falar, mas sabia da existência dessas ferramentas para simulação de requisições, como envio de formulários, hiperlinks, simulação de clicks, et cetera. 

 

Essa biblioteca conseguiu sanar o que eu precisava, que era simular alguns clicks e obter o link de download. A partir daí, eu utilizei outra biblioteca, a Commons Io. Com essa última, consegui fazer o download dos arquivos necessários. 

 

O problema é quando o código HTML é mal feito ou possui muito JS, para quem está iniciando no HtmlUnit, isso acaba sendo um empecilho para conseguir fazer o que precisa. Mas quebrando a cabeça e procurando dá pra contornar esses problemas quase sempre.

 

Tópico resolvido.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!