2017 © Pedro Peláez
 

library xupopter

Xupopter crawlea las principales páginas de compraventa de inmuebles de España como son Idealista, Fotocasa, Habitaclia, Pisos.com

image

tetreum/xupopter

Xupopter crawlea las principales páginas de compraventa de inmuebles de España como son Idealista, Fotocasa, Habitaclia, Pisos.com

  • Friday, September 15, 2017
  • by tetreum
  • Repository
  • 1 Watchers
  • 3 Stars
  • 23 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 1 Open issues
  • 1 Versions
  • 5 % Grown

The README.md

Xupopter

Build Status License, (*1)

Xupopter crawlea las páginas más conocidas de compraventa y alquiler de pisos de España., (*2)

Listado de Providers que crawlea: - Pisos.com - Habitaclia.com - Fotocasa.es - Idealista.com, (*3)

¿Por qué?

La usabilidad de algunas de dichas páginas deja mucho que desear. Otras pecan de falta de filtros (Estoy harto de descartar casas en venta con regalo [a.k.a usufructo] incluído)., (*4)

Instalación

composer require tetreum/xupopter dev-master

¡Un provider ha dejado de funcionar! ¡No crawlea X dato!

Perfecto, arréglalo y haz PR., (*5)

¡Algunos resultados no son crawleados!

Xupopter exige un mínimo de características (ver más abajo) a crawlear de la casa, como son imágenes y m2. Los resultados que no cumplan con este mínimo, serán descartados., (*6)

House object: - title - description - price - url - meters - images, (*7)

-- Optional parameters: - hasAirConditioner - hasElevator - floor, (*8)

Ejemplo de uso:

Un cron diario., (*9)

  • bootstrap.php:
<?php
// Includes vendor libraries
require "vendor/autoload.php";

use Xupopter\System\App as Xupopter;

define('APP_ROOT', __DIR__ . DIRECTORY_SEPARATOR);
date_default_timezone_set("Europe/Madrid");

// Include configurations and global constants
Xupopter::$config = require "conf.php";
  • conf.php
<?php
return [
    'tmp' => APP_ROOT . 'tmp/', // in debug mode, html curls will be cached
    'mode' => 'production',
    'debug' => false,
    'test' => false,
    'providers' => [
        'Habitaclia' => [
            "/comprar-vivienda-en-barcelones/provincia_barcelona/listainmuebles.htm?bolIsFiltro=0&tip_op_origen=V&hUserClickFilterButton=&filtro_periodo=0&hMinLat=&hMinLon=&hMaxLat=&hMaxLon=&hUseLatLonFilters=&hNumPointsMapa=&ordenar=pvp_inm_desc&f_con_fotos=0"
        ],
        'Fotocasa' => [
            '/comprar/casas/barcelona-capital/listado?crp=1&ts=barcelona%20capital&llm=724,9,8,232,376,8019,0,0,0&f=publicationdate&o=asc&opi=36&ftg=true&pgg=false&odg=false&fav=false&grad=false&fss=false&mode=3&cu=es-es&pbti=2&nhtti=1&craap=1&fs=true&lon=0&lat=0&fav=false'
        ],
        'Pisos' => [
            '/venta/pisos-barcelones/desc/'
        ],
        "Idealista" => [
            "/venta-viviendas/barcelona-barcelona/?ordenado-por=precio-desc"
        ]
    ],
    "avoid" => [
        'text' => [ // text == title + description
            "usufructo",
            "beneficiario",
        ],
        "location" => [
            "ciutat meridiana",
            "trinitat nova",
            "trinitat vella",
            "carmel",
            "roquetes"
        ]
    ]
];
  • cron.php
<?php
set_time_limit(0);

require 'bootstrap.php';

use Xupopter\System\App;

foreach (App::config('providers') as $pName => $paths)
{
    App::runProvider($pName, $paths, function ($house) {
        // callback fired for each crawled house
        // echo $house->title . " - " . $house->price . "€";
        // $mysql->query("INSERT INTO houses...
    });
}

ToDo

  • Función para detectar de qué proveedor es una url i mandárselo al mismo.
  • Refactorizar la implementación del callback
  • Crawlear la fecha de publicación de Idealista
  • Añadir más proveedores

The Versions

15/09 2017

dev-master

9999999-dev

Xupopter crawlea las principales páginas de compraventa de inmuebles de España como son Idealista, Fotocasa, Habitaclia, Pisos.com

  Sources   Download

MIT

The Requires

 

The Development Requires

crawler idealista habitaclia fotocasa pisos.com