Semalt Expert indeholder en guide til skrabe Internettet med Javascript

Webskrapning kan være en fremragende kilde til kritiske data, der bruges i beslutningsprocessen i enhver virksomhed. Derfor er det kernen i dataanalyse, da det er den eneste sikre måde at indsamle pålidelige data. Men fordi mængden af onlineindhold, der er tilgængeligt til ophugning, altid stiger, kan det blive næsten umuligt at skrabe hver side manuelt. Dette kræver automatisering.

Mens der er mange værktøjer derude, der er skræddersyet til forskellige automatiserede skrabeprojekter, er de fleste af dem premium og koster dig en formue. Det er her Puppeteer + Chrome + Node.JS kommer ind. Denne tutorial vil guide dig gennem processen og sikre, at du automatisk kan skrabe websteder.

Hvordan fungerer opsætningen?

Det er vigtigt at bemærke, at det at være en smule viden om JavaScript vil komme godt med i dette projekt. Til at begynde med skal du få ovennævnte 3 programmer separat. Puppeteer er et nodebibliotek, der kan bruges til at kontrollere hovedløs Chrome. Hovedløs Chrome henviser til processen med at køre krom uden dens GUI, eller med andre ord uden at køre krom. Du bliver nødt til at installere Node 8+ fra dets officielle websted.

Efter at have installeret programmerne er det tid til at oprette et nyt projekt for at begynde at designe koden. Ideelt set er det JavaScript-skrabe, idet du bruger koden til at automatisere skrapningsprocessen. For mere information om Puppeteer henvises til dens dokumentation, der er hundredevis af eksempler tilgængelige for dig at lege med.

Sådan automatiseres JavaScript-skrabning

Når du opretter et nyt projekt, skal du fortsætte med at oprette en fil (.js). På den første linje bliver du nødt til at hente den dukkeafhængighed, du havde installeret tidligere. Dette efterfølges af en primær funktion "getPic ()", der indeholder al automatiseringskoden. Den tredje linje påkalder funktionen "getPic ()" for at køre den. I betragtning af, at getPic () -funktionen er en "async" -funktion, kan vi derefter bruge det ventende udtryk, der vil sætte funktionen på pause, mens vi venter på, at "løftet" skal løses, før vi går videre til den næste kodelinie. Dette fungerer som den primære automatiseringsfunktion.

Sådan åbnes hovedløs krom

Den næste kodelinie: "const browser = venter på dukketeater.Lancering ();" vil automatisk starte dukketæer og køre en chrome instans, der indstiller den til vores nyoprettede "browser" -variabel. Fortsæt med at oprette en side, der derefter bruges til at navigere til den URL, du vil skrabe.

Sådan skrotes data

Puppeteer API giver dig mulighed for at lege med forskellige webstedsindgange såsom ur, formularudfyldning samt læsning af data. Du kan henvise til det for at få et tæt overblik over, hvordan du kan automatisere disse processer. Funktionen "skrabe ()" bruges til at indtaste vores skrabekode. Fortsæt med at køre noden scrape.js-funktionen for at starte skrapningsprocessen. Hele opsætningen skal derefter automatisk begynde at sende det krævede indhold. Det er vigtigt at huske at gå igennem din kode og kontrollere, at alt fungerer i henhold til designet for at undgå, at der opstår fejl undervejs.