Kaip viešą duomenų šaltinį paverčiau 29 eurų mėnesio srautu

Nešiojamasis kompiuteris su duomenų lentele ir anotuotomis skaičiuoklėmis, atspindintys nišinį duomenų rinkimą ir perpardavimą

Duomenų pardavimas prenumeratos forma yra nuobodžiausias AI šoninis verslas, kurį esu paleidęs, ir būtent jis spausdina švariausią maržą. Produktas – ne blizgus pokalbių robotas, o skaičiuoklė, kuri atsinaujina pagal grafiką ir nusileidžia pirkėjo pašte arba API. Crawler'is mažas, teisinis filtras griežtas, o klientų sąrašas trumpas ir lojalus. Savąjį sukūriau per keturis savaitgalius, ir jis veikia beveik neliečiamas jau penkis mėnesius. Štai kaip išsirenku nišą, kaip laikausi teisėtumo ir kaip pritraukiu pirmuosius mokančius klientus.

Nišos testas, prieš bet kokį kodą

Parduodamas duomenų srautas turi tris savybes: šaltinis yra viešas, duomenys keičiasi pakankamai dažnai, kad pateisintų prenumeratą, ir pirkėjai jau kažkam moka už bjauresnę jo versiją. Jei nors viena savybė nesutampa, išbraukiu. Kandidatus atrenku paskelbdamas dviejų eilučių pasiūlymą pramonės forumuose ir mažuose subreddit\'uose – tą patį filtrą naudoju savo AI pokalbių roboto prenumeratai. Jei per 72 valandas negaunu bent keturių rimtų atsakymų, niša miršta vietoje. Sukurti srautą, kurio niekas neprašė, yra klaidos modelis, kurio atsisakau kartoti.

Teisinis kontrolinis sąrašas, kurio neperžengsiu

Tai yra žingsnis, kuris nužudo daugumą projektų, ir teisingai. Prieš parašydamas pirmą crawler'io kodo eilutę, atsakau į penkis klausimus apie šaltinį. Ar duomenys už prisijungimo? Ar naudojimosi sąlygos draudžia automatizuotą prieigą? Ar robots.txt išskiria kelius, kurių man reikia? Ar mano nuskaitymo greitis viršija tai, ką darytų mandagus naudotojo agentas? Ar rezultate atskleidžiami asmens duomenys tokiu būdu, kokiu pirminis leidėjas jų neatskleidžia? Jei bent vienas atsakymas nemalonus, pereinu prie kito kandidato. Vedu rašytinį, datuotą įrašą kiekvienam šaltiniui, kad jei kada kiltų ginčas, galėčiau parodyti patikrą. Teisinė higiena čia persidengia su popieriniu taku, kurį vedu domenų perpardavimuose; nuobodūs dokumentai vėliau išgelbsti.

Technologijos, sąmoningai laikomos mažos

Vienas mažas VPS po 6 eurus per mėnesį, Python su requests ir selectolax analizei, SQLite būsenai, rotuojantis rezidentinių proxy pool\'as po 15 eurų per mėnesį, vienas cron darbas kas 60 minučių. Jokios Kafka, jokių eilių, jokių mikroservisų. Bendra infrastruktūros kaina – 21 euras per mėnesį. AI įsijungia lygiai dviejose vietose: pirma, parašant ištraukimo selektorius pagal pavyzdinį puslapį (tai sutaupo kokias tris valandas); antra, normalizuojant netvarkingus laisvus teksto laukus – įmonių pavadinimus ir vietoves. Pats crawler'is – 380 eilučių deterministinio Python. Nuobodus kodas, lengvai derinamas 23 valandą, kai kažkas sulūžta.

  1. Paimti sąrašo puslapį, palyginti su paskutine momentine kopija, ištraukti naujų įrašų URL.
  2. Paimti kiekvieną naują įrašą, išanalizuoti laukus, patvirtinti tipus.
  3. Normalizuoti laisvą tekstą pigiu LLM iškvietimu, apribojant kainą iki 0,002 euro už eilutę.
  4. Dubliuotis pašalinti SQLite pagal normalizuoto krovinio maišą.
  5. Pridėti į kasdienį CSV, siųsti prenumeratoriams el. paštu ir per mažytį JSON endpoint\'ą.

Kainodara, pakuotė ir pirmieji 14 pirkėjų

Kainą nustačiau 29 eurai per mėnesį nuo pirmos dienos, jokio nemokamo bandymo. Nemokamas bandymas būtų pritraukęs žioplų, o šis produktas gyvena iš pirkėjų, kurie jau pažįsta skausmą. Pirmi trys prenumeratoriai atėjo iš to paties forumo, kuriame testavau pasiūlymą. Kiti aštuoni atėjo iš vieno šalto el. laiškų siuntimo 40 mažų agentūrų, kurios akivaizdžiai darė tą patį darbą rankiniu būdu. Atsakymo rodiklis – 28 procentai, uždarymo rodiklis į atsakymus – 25 procentai. Likusieji trys rado mane per paiešką po dviejų trumpų publikacijų. Pajamos penktą mėnesį: 406 eurai per mėnesį, sąnaudos 21 infrastruktūrai plius maždaug 85 eurai tokenų ir proxy sunaudojimo sunkiausią mėnesį, grynoji marža apie 300 eurų. Tai 74 procentų marža iš produkto, kurio priežiūrai skiriu apie 90 minučių per savaitę. Vieneto ekonomika artimesnė mano mokamam naujienlaiškiui, nei daugumai AI apvalkalų.

Priežiūra, dalis, kurios nerodo pardavimo puslapyje

Kiekvieną antradienio vakarą atsidarau skydelį, peržvelgiu klaidų žurnalą ir pataisau, kas pasikeitė. Per penkis mėnesius selektorius liečiau keturis kartus. Du buvo smulkūs išdėstymo pakeitimai šaltinyje, vienas – tyli 403 klaida, reikalavusi naujos user agent rotacijos, vienas – laužantis schemos pakeitimas, kainavęs man visą vakarą. Biudžetuoju 90 minučių per savaitę, vidutiniškai sunaudoju apie 60. Be šios fiksuotos laiko juostos srautas supūtų per ketvirtį – tai yra klaidos modelis, apie kurį perspėju AI šoninių verslų centre.

Retas John patarimas

Parduokite schemą, ne nuskaitymą

Pirkėjams nerūpi, kad jūs nuskaitote. Jiems rūpi, kad jūsų išvestis būtų švari, stabili schema, kurią jie galėtų numesti į savo įrankius nepervadindami stulpelių. Skelbiu schemą pardavimo puslapyje su pavyzdiniu CSV ir mažu JSON Schema failu. Būtent ši detalė uždarė bent tris iš pirmųjų dešimties prenumeratorių, nudegusių po ankstesnio srauto, kuris keitė stulpelius be įspėjimo. Vieno puslapio schemos dokumentas vertas daugiau nei bet kokia mano parašytina nusileidimo puslapio kopija.

Ko vengčiau

Neskaitykite nieko, kas reikalauja autentifikavimo, net jei atrodo lengva. Vienintelį kartą, kai palenkiau šią taisyklę – prie šaltinio su labai plonu prisijungimo užtvaru – pralaimėjau savaitę ginčydamasis su leidėju ir turėjau grąžinti pinigus dviem prenumeratoriams. Siauras viešas šaltinis su kukliu kiekiu kiekvieną kartą įveikia turtingą, už prisijungimo esantį šaltinį su teisine rizika. Jei vienintelis būdas sukurti srautą yra už prisijungimo, kurkite kitą srautą.

Dažni klausimai

Ar viešų duomenų nuskaitymas (scraping) yra teisėtas?

Vieši duomenys be prisijungimo ir be clickwrap sąlygų, draudžiančių automatizuotą prieigą, daugumoje jurisdikcijų yra saugioji zona. Nuskaitymas už prisijungimo, greičio ribų apėjimas ar robots.txt nurodymų ignoravimas greitai išveda už šios zonos ribų. Kiekvienam šaltiniui laikau vieno puslapio teisinį kontrolinį sąrašą ir atsisakau bet kokio srauto, kuris negali atsakyti „taip" į kiekvieną jo eilutę.

Kiek iš tikro galima imti už nišinį srautą?

Mano srautas kainuoja 29 eurus per mėnesį, turiu 14 mokančių prenumeratorių, 406 eurai pasikartojančių pajamų. Bendras naujienų srautas už tokią kainą neišgyventų; siaura pramonės šaka su 60 minučių gaivumu ir švaria schema – išgyvena. Pirkėjai beveik visada yra mažos agentūros arba vieno žmogaus tyrimų skyriai, vertinantys sutaupytą laiką, o ne žalius duomenis.

Ar dirbtinis intelektas gali pakeisti nuskaitymo grandinę?

AI rašo ištraukimo prompt'us ir normalizuoja netvarkingus laukus, bet santechnika (planavimas, pakartotiniai bandymai, dublikatų šalinimas, pokyčių aptikimas) išlieka nuobodus deterministinis kodas. Bandžiau visą grandinę paleisti per LLM agentą – veikė savaitgalį, paskui tyliai nukrypo. Naudokite AI migloms dalims, o deterministines palaikykite deterministines.