it-swarm.dev

Qual è la differenza tra web-crawling e web-scraping?

C'è una differenza tra la scansione e il Web-scraping?

Se c'è una differenza, qual è il metodo migliore da utilizzare per raccogliere alcuni dati web per fornire un database per un utilizzo futuro in un motore di ricerca personalizzato?

76
wassimans

La scansione sarebbe essenzialmente ciò che fanno Google, Yahoo, MSN, ecc., Alla ricerca di QUALSIASI informazione. Lo scraping è generalmente mirato a determinati siti Web, per dati specifici, ad es. per il confronto dei prezzi, quindi sono codificati in modo abbastanza diverso.

Di solito un raschietto sarà creato su misura per i siti Web che si suppone stia raschiando e farebbe le cose che un (buon) crawler non farebbe, cioè:

  • Non avere riguardo per robots.txt
  • Identificarsi come un browser
  • Invia moduli con dati 
  • Esegui Javascript (se richiesto per Agisci come un utente)
100
Ben

Sì, sono diversi. In pratica, potrebbe essere necessario utilizzare entrambi.

(Devo saltare perché, finora, le altre risposte non arrivano all'essenza: usano esempi ma non rendono le distinzioni chiare. Concesso, sono del 2010!)

Web scraping, per usare una definizione minima, è il processo di elaborazione di un documento Web e di estrazione di informazioni da esso. Puoi fare scraping web senza eseguire la scansione web. 

Web crawling, per usare una definizione minima, è il processo di ricerca iterativamente e raccolta di collegamenti Web a partire da un elenco di URL di seed. A rigor di termini, per eseguire la scansione del Web, è necessario eseguire un certo livello di scraping Web (per estrarre gli URL).

Per chiarire alcuni concetti menzionati nelle altre risposte:

  • robots.txt è destinato ad essere applicato a qualsiasi processo automatico che accede a una pagina web. Quindi si applica sia ai crawler che ai scrapers.

  • I crawler e gli scrapers "giusti", entrambi, dovrebbero identificarsi con precisione.

Alcuni riferimenti:

55
David J.

AFAIK Web Crawling è ciò che fa Google: gira intorno a un sito Web esaminando i collegamenti e creando un database del layout di quel sito e dei siti a cui si collega

Il Web Scraping sarebbe l'analisi progammatica di una pagina web per caricarne alcuni dati, ad esempio caricando il meteo della BBC e rippando (raschiando) via il meteo e trasferendolo altrove o utilizzandolo in un altro programma.

7
Chris Harden

C'è una differenza fondamentale tra questi due. Per coloro che cercano di scavare più a fondo, ti suggerisco di leggere questo - raschietto per web, Web Crawler

Questo post va nei dettagli. Un buon riassunto è in questo grafico dall'articolo:  chart showing difference between scraping and crawling

2
Mohit Sharma

Scansioniamo i siti per avere una prospettiva ampia su come è strutturato il sito, quali sono i collegamenti tra le pagine, per stimare quanto tempo abbiamo bisogno per visitare tutte le pagine che ci interessano. Scraping è spesso più difficile da implementare, ma è un'essenza dell'estrazione dei dati. Pensiamo a raschiare come a coprire il sito web con un foglio di carta con alcuni rettangoli ritagliati. Ora possiamo vedere solo le cose di cui abbiamo bisogno, ignorando completamente parti del sito web comuni a tutte le pagine (come navigazione, piè di pagina, annunci) o informazioni estranee come commenti o briciole di pane . Ulteriori informazioni sulle differenze tra scansione e rottamazione si trovano qui : https://tarantoola.io/web-scraping-vs-web-crawling/

0
shirk3y

C'è sicuramente una differenza tra questi due. Uno si riferisce alla visita di un sito, l'altro all'estrazione.

0
Annie