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; } }
public ListaImovel Executar(FiltroImovel filtro) { filtros = filtro; CarregaCidade(filtro); var url = MontarUrl(filtros); if (BuscaPagina(url)) { RaspaPagina(); } return(imoveis); }
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; } } }
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); } }
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(); }
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"); }