def test_devolver_todos(self): busqueda = zonaprop.ResultadoBusqueda(url_listado) correcto = ("https://www.zonaprop.com.ar/departamentos-alquiler-" "belgrano-caballito-2-ambientes-pagina-{n}.html") for n in range(1, busqueda.cantidad_de_paginas + 1): url_pagina = busqueda.listado_pagina(n) self.assertEqual(correcto.format(n=n), url_pagina)
def main(url, archivo_salida): busqueda = zonaprop.ResultadoBusqueda(url) resultados = busqueda.cantidad_de_resultados paginas = busqueda.cantidad_de_paginas print(f"Encontré {resultados} resultados en {paginas} páginas.") propiedades = [] for n in tqdm(range(1, paginas + 1), desc='Página'): url_pagina = busqueda.listado_pagina(n) logging.debug(f"Parseando página {url_pagina}") listado = zonaprop.Listado(url_pagina) for url in tqdm(listado.propiedades_url, desc='Propiedad', leave=False): logging.debug(f"Parseando propiedad {url}") propiedad = zonaprop.Propiedad(url) propiedades.append(propiedad) info = [] for i, p in enumerate(propiedades): info.append(p.informacion) df = pd.DataFrame(info) df.to_csv(archivo_salida)
def test_devolver_listado_1(self): busqueda = zonaprop.ResultadoBusqueda(url_listado) url_pagina1 = busqueda.listado_pagina(1) correcto = ("https://www.zonaprop.com.ar/departamentos-alquiler-" "belgrano-caballito-2-ambientes-pagina-1.html") self.assertEqual(url_pagina1, correcto)
def test_cantidad_de_paginas_2(self): busqueda = zonaprop.ResultadoBusqueda(descarga_listado2, local=True) self.assertEqual(busqueda.cantidad_de_paginas, 7)
def test_cantidad_de_resultados(self): busqueda = zonaprop.ResultadoBusqueda(descarga_listado, local=True) self.assertEqual(busqueda.cantidad_de_resultados, 1412)
def test_busqueda_local_false(self): with self.assertWarns(UserWarning): busqueda = zonaprop.ResultadoBusqueda(descarga_departamento, local=True) busq = busqueda._es_busqueda self.assertFalse(busq)
def test_busqueda_local_true(self): busqueda = zonaprop.ResultadoBusqueda(descarga_listado, local=True) busq = busqueda._es_busqueda self.assertTrue(busq)
def test_busqueda_false(self): with self.assertWarns(UserWarning): busqueda = zonaprop.ResultadoBusqueda(url_departamento) busq = busqueda._es_busqueda self.assertFalse(busq)
def test_busqueda_true_2(self): busqueda = zonaprop.ResultadoBusqueda(url_listado2) busq = busqueda._es_busqueda self.assertTrue(busq)