Ir para conteúdo
Fórum Script Brasil
  • 0

Como acessar um link e retornar o preço de um produto?


guimartinsc

Pergunta

1 resposta a esta questão

Posts Recomendados

  • 0

Aqui vai um exemplo bem rudimentar, no entanto, acho melhor você usar a biblioteca jsoup, ela é muito poderosa e simples de usar.

package acessarlink;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLDecoder;

public class Acessar {

	private static String urlBase="http://www.aldo.com.br/Produto/?codigo=";
	
	public static String getAcesso(int codigo){
		String resultado=null;
		String linha = "";
		 
		DataOutputStream retorno = null;
		 
		HttpURLConnection conexao;
		 
		BufferedReader bin = null;
		 
		StringBuilder fluxo = new StringBuilder();
		
		URL urlNormal = null;
		
		try{
			urlNormal = new URL(Acessar.urlBase+String.valueOf(codigo));
		}catch(Exception e){
			System.out.println("Erro ao tentar criar url.");
		}
		try{
			conexao = (HttpURLConnection) urlNormal.openConnection();
			conexao.setConnectTimeout(250000);
			 
			conexao.setRequestMethod("GET");
			 
			//conexao.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
			 
			//conexao.setRequestProperty("Content-Length", "" + Integer.toString(params.toString().getBytes().length));
			 
			//conexao.setRequestProperty("Content-Language", "pt-BR");
			 
			conexao.setUseCaches (false);
			 
			conexao.setDoInput(true);
			 
			conexao.setDoOutput(true);
			
			
			retorno = new DataOutputStream (conexao.getOutputStream());
			//retorno.writeBytes (params.toString());
			 
			retorno.flush ();
			
			retorno.close ();
			
			bin = new BufferedReader(new InputStreamReader(conexao.getInputStream(), "UTF-8"));
			
			while ((linha = bin.readLine()) != null){
				if( linha.contains("R$") ){
					String[] pedaco=linha.split("[R$]",2);
					//System.out.println(pedaco[1]);
					String[] sb=pedaco[1].split("[R$]");
					resultado=sb[0];
					String r="";
					for(int i=resultado.length()-2; i>0; i--){
					
						if(resultado.charAt(i)!='"'){
							r=resultado.charAt(i)+r;
						}
					}
					resultado=r;
					break;
				}
			}
			 
			resultado=resultado.split("=")[2];
			System.out.println(resultado);
		}catch(Exception e){
			System.out.println("Erro ao tentar conectar");
		}
		
		return resultado;
	}

	public static void main(String[] args){
		getAcesso(29825);
	}
}

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...