Verkkokaappaus Node JS:llä vuonna 2023

Verkkokaappaus Node JS:llä vuonna 2023

Lähdesolmu: 2022732

Haluatko poimia tietoja verkkosivulta?

Siirry Nanonetsiin verkkosivuston kaavin, Lisää URL-osoite ja napsauta "Scrape" ja lataa verkkosivun teksti tiedostona välittömästi. Kokeile nyt ilmaiseksi.

Nanonetsin verkkosivuston kaavin


Mitä on verkkoraapiminen ja sen edut?

Web-kaappausta käytetään tietojen kaappaamiseen verkkosivuilta automaattisesti suuressa mittakaavassa. Web-kaappaus tehdään monimutkaisten HTML-rakenteiden tietojen muuntamiseksi strukturoituun muotoon, kuten laskentataulukkoon tai tietokantaan, ja sitä käytetään erilaisiin tarkoituksiin, kuten tutkimukseen, analysointiin ja automaatioon.

Tässä on joitain syitä, miksi ihmiset käyttävät verkkokaappausta:

  • Poimi verkkosivun tiedot tehokkaasti edistyneitä analyyseja varten.
  • Seuraa kilpailijoiden verkkosivustojen kehitystä ja pidä silmällä heidän tuotetarjouksensa, taktiikansa tai hinnoittelunsa muutoksia.
  • Kaavi liidit tai sähköpostitiedot LinkedInistä tai muusta hakemistosta.
  • Automatisoi tehtävät, kuten tietojen syöttäminen, lomakkeiden täyttö ja muut toistuvat tehtävät, mikä säästää aikaa ja parantaa tehokkuutta.

Miksi sinun pitäisi käyttää Node.js:ää verkkokaappaukseen?

Node.js:ää käytetään laajasti, koska se on kevyt, suorituskykyinen ja tehokas alusta. Tässä on joitain syitä, miksi node.js on loistava valinta verkkokaappaukseen:

  • Node.js voi käsitellä useita web-kaappauspyyntöjä rinnakkain.
  • Sillä on suuri yhteisö, joka tukee ja luo mielekkäitä web-kaappauskirjastoja.
  • Node.js on monialustainen, joten se on monipuolinen valinta web-kaappausprojekteihin
  • Node.js on helppo oppia, varsinkin jos tunnet jo JavaScriptin
  • Node.js:ssä on sisäänrakennettu tuki HTTP-pyyntöille, mikä tekee HTML-sivujen noutamisesta ja jäsentämisestä helppoa verkkosivustoilta
  • Node.js on erittäin skaalautuva, mikä on tärkeää web-kaappaukselle, kun käsitellään suuria määriä dataa

Haluatko poimia tietoja verkkosivulta?

Siirry Nanonetsiin verkkosivuston kaavin, Lisää URL-osoite ja napsauta "Scrape" ja lataa verkkosivun teksti tiedostona välittömästi. Kokeile nyt ilmaiseksi.

Nanonetsin verkkosivuston kaavin


Kuinka kaapata verkkosivuja Node JS:n avulla?

Vaihe 1 Ympäristön asettaminen:

Sinun on asennettava node.js, jos et ole jo tehnyt sitä. Voit ladata sen virallisella verkkosivustolla.

Vaihe 2 Tarvittavien pakettien asentaminen web-kaappaukseen Node.js:n avulla:

Node.js:ssä on useita vaihtoehtoja web-kaappaukseen, kuten Cheerio, Puppeteer ja request. Voit asentaa ne helposti seuraavalla komennolla.

npm install cheerio
npm install puppeteer
npm install request

Vaihe 3 Projektihakemiston määrittäminen:

Sinun on luotava uusi hakemisto uudelle projektille. Siirry sitten komentokehotteeseen luodaksesi uuden tiedoston NodeJS-verkkokaappauskoodin tallentamiseksi.

Voit luoda uuden hakemiston ja uuden tiedoston seuraavalla komennolla:

mkdir my-web-scraper
cd my-web-scraper
touch scraper.js

Vaihe 4 HTTP-pyyntöjen tekeminen Node.js:n avulla:

Jotta voit kaapata verkkosivuja, sinun on tehtävä HTTP-pyyntöjä. Nyt Node.js:ssä on sisäänrakennettu http-moduuli. Tämä tekee pyyntöjen tekemisestä helppoa. Voit myös käyttää aksioita tai pyyntöjä pyynnön tekemiseen.

Tässä on koodi http-pyyntöjen tekemiseen node.js:n avulla

const http = require('http');
const url = 'http://example.com';
http.get(url, (res) => {
let data = '';
res.on('data', (chunk) => {
data += chunk;
});
res.on('end', () => {
console.log(data);
});
});

Korvaa http.//example.com valitsemallasi URL-osoitteella verkkosivujen kaapimiseksi,

Vaihe 5 HTML-koodin kaapiminen Node.js:n avulla:

Kun sinulla on Web-sivun HTML-sisältö, sinun on jäsennettävä se, jotta voit poimia tarvitsemasi tiedot. Useita kolmannen osapuolen kirjastoja on saatavana HTML-koodin jäsentämiseen Node.js:ssä, kuten Cheerio ja JSDOM.

Tässä on esimerkkikoodinpätkä, jossa Cheerio jäsentää HTML-koodia ja purkaa tietoja:

const cheerio = require('cheerio');
const request = require('request');
const url = 'https://example.com';
request(url, (error, response, html) => {
if (!error && response.statusCode == 200) {
const $ = cheerio.load(html);
const title = $('title').text();
const firstParagraph = $('p').first().text();
console.log(title);
console.log(firstParagraph);
}
});

Tämä koodi käyttää pyyntökirjastoa noutaakseen verkkosivun HTML-sisällön url-osoitteesta ja käyttää sitten Cheerioa jäsentääkseen HTML:n ja purkaa otsikon ja ensimmäisen kappaleen.

Kuinka käsitellä javascriptiä ja dynaamista sisältöä Node.js:n avulla?

Monet nykyaikaiset verkkosivut käyttävät JavaScriptiä dynaamisen sisällön hahmontamiseen, mikä vaikeuttaa niiden poistamista. JavaScript-renderöinnin käsittelemiseen voit käyttää päättömiä selaimia, kuten Puppeteer ja Playwright, joiden avulla voit simuloida selainympäristöä ja kaapata dynaamista sisältöä.

Tässä on esimerkkikoodinpätkä, jossa Puppeteer kaapii verkkosivun, joka renderöi sisältöä JavaScriptillä:

const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
const title = await page.$eval('title', el => el.textContent);
const firstParagraph = await page.$eval('p', el => el.textContent);
console.log(title);
console.log(firstParagraph);
await browser.close();
})();

Tämä koodi käyttää Puppeteeria käynnistämään päättömän selaimen, siirtymään web-sivulle osoitteessa url ja purkamaan otsikon ja ensimmäisen kappaleen. Metodi page.$eval() valitsee ja poimii tiedot HTML-elementeistä.

Tässä on joitain kirjastoja, joiden avulla voit kaapata verkkosivuja helposti NodeJS:n avulla:

Cheerio: on nopea, joustava ja kevyt jQueryn ydintoteutus, joka on suunniteltu palvelinpuolelle.

JSDOM: on Node.js:n DOM:n puhdas JavaScript-toteutus. Se tarjoaa tavan luoda DOM-ympäristö Node.js:ssä ja käsitellä sitä tavallisella API:lla.

Nukkenäyttelijä: on Node.js-kirjasto, joka tarjoaa korkean tason API:n päättömän Chromen tai Chromiumin ohjaamiseen. Sitä voidaan käyttää web-kaappaukseen, automaattiseen testaukseen, indeksointiin ja hahmontamiseen.

Parhaat käytännöt Web-kaappaukseen Node.js:n avulla

Tässä on joitain parhaita käytäntöjä, joita on noudatettava käytettäessä Node.js:ää verkkokaappaukseen:

  • Ennen kuin raapaat verkkosivustoa, lue sen käyttöehdot. Varmista, että verkkosivulla ei ole rajoituksia web-kaappaukselle tai verkkosivujen kaapimisen tiheydelle.
  • Rajoita HTTP-pyyntöjen määrää, jotta voit estää verkkosivuston ylikuormituksen hallitsemalla pyyntöjen tiheyttä.
  • Aseta HTTP-pyyntöihisi sopivat otsikot jäljittelemään tavallisen käyttäjän käyttäytymistä.
  • Tallenna verkkosivut ja poimitut tiedot välimuistiin verkkosivuston kuormituksen vähentämiseksi.
  • Verkkojen kaapiminen voi olla virhealtista verkkosivustojen monimutkaisuuden ja vaihtelevuuden vuoksi.
  • Tarkkaile ja säädä kaavinta toimintaasi ja säädä nopeusrajoituksia, otsikoita ja muita asetuksia tarpeen mukaan.

Haluatko poimia tietoja verkkosivulta?

Siirry Nanonetsiin verkkosivuston kaavin, Lisää URL-osoite ja napsauta "Scrape" ja lataa verkkosivun teksti tiedostona välittömästi. Kokeile nyt ilmaiseksi.

Nanonetsin verkkosivuston kaavin


Aikaleima:

Lisää aiheesta Tekoäly ja koneoppiminen