1.0.7 • Published 3 years ago

autocrawler v1.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

autocrawler

Descrição

Esta biblioteca tem o objetivo de juntar vários crawlers das plataformas de compra/venda de automóveis em Portugal (ex: Stand Virtual) numa só ferramenta. Os crawlers navegam plataformas, recolhem informação e exportam um JSON com os dados de todos os carros listados na plataforma em questão.

Instalação

npm install --save autocrawler

ou

yarn add autocrawler

Como usar

autocrawler(platform, car, filters);
platform: 'Stand Virtual | ...',
car: {
	brand: 'Car Brand',
	model: 'Car Model', (optional)
},
filters: { (optional)
  price: { 
    from: 5000,
    to: 10000
  },
  year: {
    from: 2010,
    to: 2015
  },
  km: {
    from: 85000,
    to: 100000,
  },
  fuel: 'diesel | electric | gaz | gpl | hibride-diesel | hibride-gaz'
}
autocrawler.toggleDebug(false | true);

Com Promises

const autocrawler = require('autocrawler');

autocrawler('Stand Virtual', { brand: 'Fiat', model: 'Punto' })
	.then((response) => {
		console.log(response);
	})
	.catch((error) => {
		console.log(error);
	});

Com await

const autocrawler = require('autocrawler');

(async () => {
	const response = await autocrawler('Stand Virtual', { brand: 'Fiat', model: 'Punto' });

	console.log(response);
})();

Com Filtros

const autocrawler = require('autocrawler');

autocrawler('Stand Virtual', { brand: 'Fiat', model: 'Punto' }, { fuel: 'diesel', price: { to: 6500 } })
	.then((response) => {
		console.log(response);
	})
	.catch((error) => {
		console.log(error);
	});

Exemplo de resposta

{
  car: { brand: 'Fiat', model: 'Punto' },
  list: [
    {
      name: 'Fiat Punto 1.3 M-Jet Easy S&S',
      price: 8750,
      km: 54388,
      fuel: 'Diesel',
      year: 2017,
      url: 'https://www.standvirtual.com/anuncio/fiat-punto-1-3-m-jet-easy-s-s-ID8P0e7b.html',
      uid: 'ID8P0e7b'
    },
    {
      name: 'Fiat Punto 1.2 S&S Lounge Navigator 5p',
      price: 8980,
      km: 40348,
      fuel: 'Gasolina',
      year: 2018,
      url: 'https://www.standvirtual.com/anuncio/fiat-punto-1-2-s-amps-lounge-navigator-5p-ID8OXUxU.html',
      uid: 'ID8OXUxU'
    },
	...
  ]
}

Plataformas disponíveis

  • Stand Virtual

Para adicionar

  • Validação de marcas e modelos
  • Ir buscar mais informações de cada carro (potência, mês de registo, foto, etc)
  • Filtrar diretamente por ano, combustível, potência, etc.
  • Adicionar novas plataformas (OLX, Custo Justo, Auto Sapo, etc.)
  • Novas opções: processar só X páginas, ignorar alguns anúncios, etc.
  • Optimizações
  • Testes

Não funciona?

Caso o crawler não esteja a funcionar, o mais provável é que tenha havido alguma alteração no layout da plataforma, o que vai fazer com que o crawler não saiba onde ir buscar as informações necessárias. Neste caso é necessário dar fix ao crawler em questão. Os pull requests estão abertos :)

Licença

MIT

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago