Crawler ? Zatim ne

Uz po nekolik let se snazim vyvinout nejaky funkcni model poradnyho crawlera co projde cely net, nasbira potrebne informace a ja nad tim budu delat analyzy.

Prvni verze crawlera byla cista PHP aplikace postavena nad MySQL, takze dle ocekavani projela par tisic webu a chcipla na veskerem vykonu. Nejen ze to trvalo vecnost, ale MySQL bylo zabity nalezenyma desitkama milionu dalsich odkazu.

S druhou verzi jsem si nechal uz vypomoci, a byla nadale delana v PHP, byt spoustena pres shell aby bylo vyreseno alepon nejake multivlaknove zpracovavani, a data se ukladali tehda do Cassandry. Vysledkem byl docela robustny crawler ktery nasel miliardy odkazu ze stovek milionu URL, za celkem rozumnou dobu. Problem ale byl pristup ke Cassandre, tou dobou jeste jen pres extremne pomaly Thrift. Bohuzel jakmile tabulka dosahla limitu 100-200M zaznamu, slo to vykonove do haje. Na druhou stranu crawler byl docela silny, a me zacalo zajimat vic a vic veci, coz se uz technicky nedalo s DB ukocirovat. Pustil jsem to tedy cely na par let k ledu.

Predloni jsem zacal vic pracovat s ElasticSearch protoze jsem chtel nejak lip analyzovat mych par miliard zaznamu z Proxy, DNS a Parkingu. Naucil jsem se s nim rekl bych celkem dost.  U programovani jsem se zas presunul o kousek dal a dilci programky/tools si nyni delam v jazyku Go. S kombinaci multiprocesoroveho Go + ES Clusteru jsem opet ozivil napad na vlastniho crawlera. Bohuzel ani tentokrat to nedopadlo uplne nejlepe. Sbiram hodne dat, ale aplikace je porad nestabilni a nedari se mi ji ukocirovat nejak lip. Take neni tak rychla jak bych si predstavoval (ano, chci rychlost Ferari na serverech Skoda). Nicmene, vysledek se nejaky dostavil a postavil jsem na tom vyhledavac obrazku Search.je

Nicmene, nez vyresim co s tim, prisel jsem vcera na zajimavy zdroj informaci. A to na zdrojovy data Common Crawler. Jen za prosinec 2018 se jedna o nadhernych 250 TB nekomprimovanych dat obsahujicich 3,1 miliardy stranek, z toho 750 milionu jsou kompletne novy URL.

V nejblizsich dnech sem hodim nejaky zajimavy resulty 🙂

 

 

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..