Pretvorba javnega vira podatkov v mesečni vir za 29 EUR

Prodaja podatkov kot naročnina je najbolj dolgočasen AI stranski zaslužek, ki sem ga vodil, in tisti, ki prinaša najčistejšo maržo. Izdelek ni bleščeč klepetalnik, ampak preglednica, ki se osveži po urniku in pristane v nabiralnik ali API kupca. Pajek je majhen, pravni filter je strog, seznam strank pa kratek in zvest. Zgradil sem ga v štirih vikendih in od takrat teče večinoma sam že pet mesecev. Tako izbiram nišo, kako ostajam zakonit in kako pridobim prve plačljive stranke.
Test niše, preden napišem kakršno koli kodo
Prodajni podatkovni vir ima tri lastnosti: vir je javen, podatki se dovolj pogosto spreminjajo, da upravičijo naročnino, in kupci že plačujejo nekomu za slabšo različico tega. Izločim vse, kar ne prestane niti enega od teh meril. Kandidate ocenim tako, da v industrijskih forumih in majhnih subredditih objavim dvostavčni opis – enak filter, ki ga uporabljam za naročnine na AI klepetalnik. Če v 72 urah ne dobim vsaj štirih resnih odgovorov, nišo takoj zavrnem. Gradnja vira, ki ga nihče ni prosil, je napaka, ki je ne bom ponovil.
Pravna kontrolna lista, ki je ne prestopim
To je korak, ki ubije večino projektov, in prav je tako. Preden napišem eno samo vrstico kode pajka, odgovorim na pet vprašanj o viru. Ali so podatki za prijavo? Ali pogoji storitve prepovedujejo samodejni dostop? Ali robots.txt izključuje poti, ki jih želim? Ali hitrost mojega pajka presega to, kar bi počel vljuden poizvedovalec? Ali izhod razkriva osebne podatke na način, ki ga prvotni objavitelj ne počne? Če je kateri koli odgovor neudoben, preidem na naslednjega kandidata. Vodim pisno evidenco za vsak vir z datumom, tako da v primeru spora lahko dokažem pregled. Pravna higiena tu se prekriva s papirno sledjo, ki jo vodim pri zamenjavah domen; dolgočasna dokumentacija vas reši pozneje.
Sklad, namerno ohranjen majhen
En majhen VPS za 6 EUR mesečno, Python z requests in selectolax za razčlenjevanje, SQLite za stanje, rotirajoč nabor rezidencialnih proxyjev za 15 EUR mesečno, en cron job vsakih 60 minut. Brez Kafke, brez čakalnih vrst, brez mikrostoritev. Skupni stroški infrastrukture so 21 EUR mesečno. UI vstopi na točno dveh mestih: najprej pri sestavljanju ekstrakcijskih izbirnikov iz vzorčne strani, kar prihrani morda tri ure; drugič pri normalizaciji neurejena besedilna polja, kot so imena podjetij in lokacije. Sam pajek je 380 vrstic determinističnega Pythona. Dolgočasna koda, ki jo je enostavno razhroščiti ob 23:00, ko se kaj pokvari.
- Pridobi stransko stran, primerjaj z zadnjim posnetkom, izvleci URL-je novih elementov.
- Pridobi vsak nov element, razčleni polja, preveri tipe.
- Normaliziraj prosto besedilo s poceni klicem LLM, stroški omejeni na 0,002 EUR na vrstico.
- Odstrani dvojnike glede na SQLite z zgoščevanjem normaliziranega tovora.
- Dodaj v dnevni CSV, pošlji naročnikom prek e-pošte in majhne končne točke JSON.
Cena, pakiranje in prvih 14 kupcev
Ceno sem določil na 29 EUR mesečno od prvega dne, brez brezplačnega preskusa. Brezplačni preskus bi privabil iskalce oken in ta izdelek preživi na kupcih, ki že poznajo bolečino. Prve tri naročnike sem dobil iz istega foruma, kjer sem testiral opis. Naslednjih osem je prišlo iz ene same serije hladnih e-sporočil, ki sem jih poslal 40 majhnim agencijam, ki so očitno enako delo opravljale ročno. Stopnja odgovorov je bila 28 odstotkov, stopnja zaključitve pri odgovorih pa 25 odstotkov. Preostale tri je najdla iskanje po dveh kratkih prispevkih, ki sem jih objavil. Prihodki v petem mesecu: 406 EUR mesečno, stroški 21 EUR infrastrukture plus približno 85 EUR žetonov in proxyjev v najtežjem mesecu, neto marža okoli 300 EUR. To je 74-odstotna marža na izdelku, ki mi vzame approximately 90 minut vzdrževanja na teden. Ekonomika enote je bližja mojemu plačljivemu glasilu kot večini AI vtičniških projektov.
Vzdrževanje, del, ki ga nobena prodajna stran ne prikaže
Vsak torkov večer odprem nadzorno ploščo, pregledam dnevnik napak in popravi karkoli, kar se je spremenilo. V petih mesecih sem štirikrat posegel v izbirnike. Dve sta bili manjši spremembi postavitve na viru, ena je bila tiha napaka 403, ki je zahtevala novo rotacijo poizvedovalca, ena pa je bila sprememba sheme, ki me je stala cel večer. Načrtujem 90 minut na teden in povprečno porabim около 60. Brez tega določenega termina bi vir začel propadati v četrtletju, kar je napaka, pred katero opozarjam na središču AI stranskih zaslužkov.
Prodajajte shemo, ne zbiranje
Kupce ne zanima, da zbirate podatke. Zanima jih, da je vaš izhod čista, stabilna shema, ki jo lahko prenesejo v lastna orodja brez preimenovanja stolpcev. Shemo objavljam na prodajni strani z vzorčnim CSV-jem in majhno datoteko JSON Schema. Ta ena podrobnost je zaprla vsaj tri od mojih prvih desetih naročnikov, ki so bili že goljufani s prejšnjim virom, ki je brez opozorila spremenil stolpce. Enostransko shemsko besedilo je vrednejše od katerekoli prodajne vsebine, ki bi jo lahko napisal.
Ne zbirajte ničesar, kar zahteva avtentikacijo, tudi če se zdi enostavno. Enkrat ko sem upognil to pravilo za vir z zelo tanko prijavo, sem izgubil teden prepiranja z izdajateljem in moral dvema naročnikoma vrniti denar. Ozek javni vir z zmernim obsegom vedno premaga bogat zaklenjen vir s pravnim tveganjem. Če je edini način gradnje vira za prijavo, zgradite drug vir.
Pogosto vprašano
Ali je zbiranje javnih podatkov zakonito?
Javni podatki brez prijave in brez pogojev uporabe, ki prepovedujejo samodejni dostop, so v večini jurisdikcij varna cona. Zbiranje podatkov za prijavo, obhod omejitev hitrosti ali ignoriranje robots.txt izključitve vas hitro popelje iz te cone. Vodim enostransko pravno kontrolno listo za vsak vir in zavrnem vsak podatkovni vir, ki ne more pritrdilno odgovoriti na vsako vrstico.
Koliko lahko dejansko zaračunate za nišni vir?
Moj vir stane 29 EUR mesečno za 14 plačljivih naročnikov, kar pomeni 406 EUR ponavljajočih se prihodkov. Splošni novičarski vir ne bi preživel pri tej ceni; ozek industrijski vir s svežino 60 minut in čisto shemo pa da. Kupci so skoraj vedno majhne agencije ali samostojni raziskovalci, ki cenijo prihranjen čas, ne surovih podatkov.
Ali lahko UI nadomesti cevovod za zbiranje podatkov?
UI piše ekstrakcijske pozive in normalizira neurejena polja, toda vodovod (razporejanje, ponovni poskusi, odstranjevanje dvojnikov, zaznavanje sprememb) je še vedno dolgočasna koda. Poskusil sem poganjati celoten cevovod prek agenta LLM – delovalo je en vikend, nato pa je tiho začelo odstopati. Uporabite UI za nedoločene dele, deterministične dele pa ohranite deterministične.