예제 #1
0
        private void CarregaCidade(FiltroImovel filtro)
        {
            switch ((int)filtro.CidadeEnum)
            {
            case (int)Cidade.SANTO_ANDRE:
                filtros.Cidade       = "sp+santo-andre";
                filtros.CidadeEncode = ",S%C3%A3o%20Paulo,Santo%20Andr%C3%A9,,,,BR%3ESao%20Paulo%3ENULL%3ESanto%20Andre,-23.674222,-46.5436";
                break;

            case (int)Cidade.SAO_BERNARDO:
                filtros.Cidade       = "sp+sao-bernardo-do-campo";
                filtros.CidadeEncode = ",S%C3%A3o%20Paulo,S%C3%A3o%20Bernardo%20do%20Campo,,,,BR%3ESao%20Paulo%3ENULL%3ESao%20Bernardo%20do%20Campo,-23.623362,-46.555243";
                break;

            case (int)Cidade.SAO_CAETANO:
                filtros.Cidade       = "sp+sao-caetano-do-sul";
                filtros.CidadeEncode = ",S%C3%A3o%20Paulo,S%C3%A3o%20Caetano%20do%20Sul,,,,BR%3ESao%20Paulo%3ENULL%3ESao%20Caetano%20do%20Sul,-23.623362,-46.555243";
                break;

            case (int)Cidade.MAUA:
                filtros.Cidade       = "sp+maua";
                filtros.CidadeEncode = ",S%C3%A3o%20Paulo,Mau%C3%A1,,,,BR%3ESao%20Paulo%3ENULL%3EMaua,-23.550519,-46.633309";
                break;
            }
        }
예제 #2
0
        public ListaImovel Executar(FiltroImovel filtro)
        {
            filtros = filtro;
            CarregaCidade(filtro);
            var url = MontarUrl(filtros);

            if (BuscaPagina(url))
            {
                RaspaPagina();
            }

            return(imoveis);
        }
예제 #3
0
        private void ExecutaCrawler(FiltroImovel filtro)
        {
            // TODO - INCLUIR PREGRESS BAR
            // TODO - COLOCAR OS DADOS NA TELA
            // TODO - DEIXAR ASYNC
            // TODO - DEIXAR A TELA RESPONSIVA
            if (this.ckZapImoveis.Checked)
            {
                ZapImoveisCrawler crawler = new ZapImoveisCrawler();
                var result = crawler.Executar(filtro);

                if (!result.Erro.Sucesso)
                {
                    this.txtErroLog.Text    = result.Erro.DescricaoErro;
                    this.txtErroLog.Visible = true;
                }
            }
        }
예제 #4
0
        private void btnConsultar_Click(object sender, System.EventArgs e)
        {
            if (ValidarCamposFiltro())
            {
                FiltroImovel filtro = new FiltroImovel();

                filtro.CidadeEnum        = (Cidade)this.cbCidade.SelectedIndex;
                filtro.NumeroPagina      = 1;
                filtro.ProcoMinimo       = Decimal.Parse(this.txtValorMinimo.Text);
                filtro.ProcoMaximo       = Decimal.Parse(this.txtValorMaximo.Text);
                filtro.QuantidadeQuartos = Int32.Parse(this.txtQuantidadeQuartos.Text);
                filtro.TipoResidencia    = (this.cbTipoResidencia.SelectedIndex == 1 ? "Apartamento" : "Casa");
                filtro.Transacao         = "Venda";
                filtro.Vagas             = Int32.Parse(this.txtQuantidadeVagas.Text);

                ExecutaCrawler(filtro);
            }
        }
예제 #5
0
        static void Main(string[] args)
        {
            ZapImoveisCrawler a       = new ZapImoveisCrawler();
            string            urlBase = "https://www.zapimoveis.com.br/venda/apartamentos/";
            FiltroImovel      filtro  = new FiltroImovel()
            {
                NumeroPagina      = 1,
                ProcoMinimo       = 100000,
                ProcoMaximo       = 200000,
                QuantidadeQuartos = 2,
                TipoResidencia    = "Apartamento",
                Transacao         = "Venda",
                Vagas             = 1,
                CidadeEnum        = Cidade.SANTO_ANDRE
            };

            var result = a.Executar(filtro);

            foreach (var x in result.Imoveis)
            {
                Console.WriteLine(x.Cidade);
                Console.WriteLine(x.Descricao);
                Console.WriteLine(x.Endereco);
                Console.WriteLine(x.QuantidadeBanheiros);
                Console.WriteLine(x.QuantidadeQuartos);
                Console.WriteLine(x.QuantidadeVagas);
                Console.WriteLine(x.Tamanho);
                Console.WriteLine(x.ValorCondominio);
                Console.WriteLine(x.ValorImovel);
                Console.WriteLine(x.ValorIptu);

                Console.WriteLine();
            }

            Console.WriteLine(result.Erro.Sucesso);
            Console.WriteLine(result.Erro.DescricaoErro);
            Console.ReadKey();
        }
예제 #6
0
 private string MontarUrl(FiltroImovel filtro)
 {
     return($@"{this.Url}{filtro.Cidade}/{filtro.QuantidadeQuartos}-quartos/?onde={filtro.CidadeEncode}&quartos={filtro.QuantidadeQuartos}&transacao={filtro.Transacao}&vagas={filtro.Vagas}&precoMaximo={filtro.ProcoMaximo}&precoMinimo={filtro.ProcoMinimo}&tipoUnidade=Residencial,{filtro.TipoResidencia}&tipo=Im%C3%B3vel%20usado&pagina={filtro.NumeroPagina}&ordem=Valor");
 }