Salvar imagens de um site

4 respostas
T

Galera com o código abaixo eu consigo visitar um url e assim pegar o código fonte:

import java.net.*;
import java.io.*;

public class URLConnectionReader {
    public static void main(String[] args) throws Exception {
        URL myURL = new URL("http://www.portaljava.com.br/");
        URLConnection yc = myURL.openConnection();
        BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
        String inputLine;

        while ((inputLine = in.readLine()) != null) 
            System.out.println(inputLine);
        in.close();
    }
}

O que eu quero é visitar um site e salvar ele completo, com imagens textos…etc…

alguém tem uma idéia em qual caminho seguir?

grato…

4 Respostas

S

Bom, desse modo você já salva tudo que está no documento HTML (só falta gravar em arquivo).

Pra recursos externos (imagens, sons, flash) você vai ter que recuperar os links e fazer novo request pra cada um.

T
"Schuenemann":
Bom, desse modo você já salva tudo que está no documento HTML (só falta gravar em arquivo).

Pra recursos externos (imagens, sons, flash) você vai ter que recuperar os links e fazer novo request pra cada um.

Entendi.................

Fiz aqui um exemplo para recuperar a img da url usando seu exemplo..mas nao entendi o erro....olha o código:

/*
 * LeImagem.java
 *
 * Created on 3 de Novembro de 2006, 18:29
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;

/**
 *
 * @author Maicon */

public class LeImagem {
    BufferedImage image = null;
    
    public void Ler(){
        try {
        
            URL url = new URL("http://hostname.com/image.gif");
            image = ImageIO.read(url);
            ImageIO.write(image, "gif", new File("image.gif"));
                      
            
    } catch (IOException e) {
        System.out.println(e);
    }

    }
    
}

Exception :

Exception in thread "main" java.lang.IllegalArgumentException: im == null!

o que pode ser?...

grato

S

Olha, eu acho que você não vai precisar de nenhuma classe que utilize imagens, já que você só vai pegar os bytes dela (como se fosse um arquivo qualquer) e copiar pra um arquivo.

T

Saquei…se for usar uma classe específica para imagens…fico preso…porque terei tmb arquivos .doc, .swf,…

vou partir para a fase 2…

posto em breve novidades…se alguém souber ou já passou por isso fique a vontade em dar dicas…

grato

Criado 3 de novembro de 2006
Ultima resposta 5 de nov. de 2006
Respostas 4
Participantes 2