Skip to main content
idego
Datavetenskap

Hur vi analyserade hela webben för att se vad folk bäddar in på sina webbplatser. För 300 euro.

Av Idego Group

Hur vi analyserade hela webben för att se vad folk bäddar in på sina webbplatser. För 300 euro.

Idego Group genomförde ett ambitiöst projekt för att analysera inbäddat innehåll på internet. En kund bad om datautvinning om vad folk bäddar in på webbplatser, med specifikt intresse för object- och embed-taggar med deras src- eller data-attribut, organiserade per domän.

Teamet använde inledningsvis Scrapy, ett Python-webbcrawlingramverk, men insåg dess begränsningar. Verktyget krävde en fördefinierad domänlista och genererade misstänkta trafikmönster som nödvändiggjorde proxyanvändning, vilket i båda fallen avsevärt bromsade processen.

Genombrott kom från ett inlägg på Yelps teknikblogg som beskrev hur man analyserar massiva webbdata ekonomiskt. Detta inspirerade Idego att utnyttja Common Crawl, ett ideellt initiativ som skapar internetögonblicksbilder. Från mars 2018 innehåller Crawl 3,4 miljarder webbsidor – det är 270 TB okomprimerat. Data finns i formaten WARC, WET och WAT, lagrade på Amazons S3.

Bearbetning av sådana volymer krävde MapReduce på Amazon EMR (Elastic MapReduce). Detta distribuerade beräkningssätt delar upp uppgifter i Map- (parallell arbetsfördelning) och Reduce-faser (konsolidering av resultat). Teamet använde cc-mrjob för att effektivisera Common Crawl-integrationen.

Ögonblicksbilden från januari 2018 visade sig vara betydligt större än 2014-versionen som Yelp analyserade. Medan Yelp slutförde liknande arbete på en timme med 20 instanser, behövde Idego 40 jämförbara instanser och ungefär 15 timmar. On-demand-prissättning skulle ha kostat ungefär 1 100 dollar, men Spot-instanser (oanvänd bearbetningskapacitet) minskade kostnaderna till ungefär 300 dollar – vilket demonstrerar effektiv resursanvändning för storskalig dataanalys.

Relaterade artiklar