Siirry sisältöön

Matkahintojen kilpailijaseuranta

Pakettimatkojen hintojen vertailu matkatoimistolle, joka toimii EU-markkinalla · Rakennettu alusta alkaen, yksin: kaavin, hallintakonsoli ja tekoälyliitäntä

Päivitetty

Ennen

Pakettihintojen vertailu kilpailijoihin käsin ei skaalautunut, ja keruuajot jumittuivat jokaisen katkon jälkeen.

Jälkeen

~5×

nopeampi keruu yhdellä kilpailijan sivustolla selaimesta luopumisen jälkeen; selainpooli täydentää itse itsensä katkojen jälkeen.

Näin se toimii
  1. 1Ihminen:Henkilöstö

    Valitsee vertailtavan paketin, jonka määrittävät lähtökaupunki, päivämäärä, matkan kesto ja henkilömäärä.

  2. 2Ohjelmisto:Ajastin

    Käynnistää vertailutyön.

  3. 3Ohjelmisto:Selaimet

    Keräävät kilpailijoiden hinnat kiertävien välityspalvelinten takaa.

    Ohjelmisto:HTTP-asiakas

    Lukee sen yhden lähteen, joka ei tarvitse selainta.

  4. 4Ihminen:Henkilöstö

    Näkee kilpailijoiden hintojen vertailun valmiina hallintakonsolissa.

Aina päällä

  • Katkon jälkeen selainpooli täydentää itse itsensä.
  • Myös asiakkaan oma tekoälyagentti voi käynnistää vertailun.

Ongelma

Toimisto tarvitsi pakettiensa vertailun kilpailijoiden sivustoihin lähtökaupungin, päivämäärän, keston ja majoituksen henkilömäärän mukaan.

Diagnoosi

Sivustot estävät botit, joten vaikeinta olivat vakaus ja välityspalvelinten kustannukset, ei jäsentäminen. Ajot jumittuivat tyhjään selainpooliin.

Punnitsemani vaihtoehdot

  1. Katkon jälkeen ajot jumittuivat tyhjään selainpooliin. Mikä on ratkaisu?

    Valittu

    Pooli, joka täydentää itse itsensä katkon jälkeen

    Välityspalvelimen liikennerajoitus tyhjensi kerran poolin 40 selaimesta nollaan; nyt se täydentyy 60 sekunnin välein. Hinta: ylläpidettävä täydennyssilmukka.

    • Hylätty

      Kiinteäkokoinen pooli

      Katkon jälkeen se kutistui ja pysyi pienenä.

  2. Selaimet ja välityspalvelimet maksavat. Tarvitseeko jokainen lähde niitä?

    Valittu

    Pelkät HTTP-pyynnöt sille lähteelle, joka sallii ne

    Yksi sivusto nousi 8 päivämäärästä 43:een minuutissa, eikä ylläpidettävää selainta ole.

    • Hylätty

      Täysi selain jokaiselle lähteelle

      Maksaa selain- ja välityspalvelinkulut sielläkin, missä niitä ei tarvita.

Ratkaisu

Ajastin ajaa vertailutöitä selainpoolilla kiertävien välityspalvelinten kautta. Henkilöstö käyttää hallintakonsolia, ja myös asiakkaan oma tekoälyagentti voi käynnistää vertailuja suoraan.

Keruu
  • Python
  • Camoufox
  • Playwright
  • curl_cffi
  • Rotating proxies
  • Apify
Rajapinta ja data
  • FastAPI
  • Supabase
  • PostgreSQL
Hallintakonsolit
  • Next.js
  • React
  • Vite
  • TanStack Query
  • Chart.js
Tekoälyagentin liitäntä
  • MCP server
Laatu
  • GitHub Actions
  • gitleaks
  • Vitest
  • pytest

Luvut: Commit-loki