Web scraping: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Messbot (discussione | contributi)
Tecniche: sostituzione tag obsoleto <big> (per Check Wikipedia) using AWB
Botcrux (discussione | contributi)
m Bot: rimuovo parametro urlmorto/deadurl duplicato
Riga 1:
{{W|informatica|aprile 2018}}
Il '''web scraping''' (detto anche '''web harvesting''' o '''web data extraction''') è una [[Tecnologia|tecnica]] [[informatica]] di [[Screen scraping|estrazione di dati]] da un [[sito web]] per mezzo di [[Programma (informatica)|programmi]] [[software]]. Di solito, tali programmi simulano la navigazione umana nel [[World Wide Web]] utilizzando l'[[Hypertext Transfer Protocol]] (HTTP) o attraverso [[browser]], come [[Internet Explorer]] o [[Mozilla Firefox]].
 
Il web scraping è strettamente correlato all'[[indicizzazione (motori di ricerca)|indicizzazione]] dei siti [[Internet]]; tale tecnica è attuata mediante l'uso di [[bot]] dalla maggior parte dei [[Motore di ricerca|motori di ricerca]]. D'altro canto, il web scraping si concentra di più sulla trasformazione di [[Dato|dati]] non strutturati presenti in Rete, di solito in formato [[HTML]], in [[Metadato|metadati]] che possono essere memorizzati e analizzati in locale in un [[database]]. Il web harvesting è altresì affine alla [[web automation]], che consiste nella simulazione della navigazione umana in Rete attraverso l'uso di software per [[computer]].
 
Esistono metodi utilizzati da alcuni siti web per prevenire il web scraping ''',''' come ad esempio rilevare e impedire ai [[bot]] la visualizzazione delle loro pagine. Per aggirare il problema esistono sistemi di web scraping che si affidano a tecniche come [[Document Object Model|DOM]] parsing, [[Visione artificiale|Computer Vision]] e [[Elaborazione del linguaggio naturale|natural language processing]] per simulare la navigazione web umana. Grazie a queste tecniche è possibile raccogliere i contenuti delle pagine web per l'analisi offline.<ref name="webopedia">{{cita web|url=http://www.webopedia.com/TERM/W/Web_Scraping.html|titolo=Web Scraping (su webopedia.com)|lingua=en|accesso=17 dicembre 2012|urlarchivio=https://www.webcitation.org/6CzH9u4z8?url=http://www.webopedia.com/TERM/W/Web_Scraping.html#|dataarchivio=17 dicembre 2012|deadurl=no|urlmorto=no}}</ref>
 
Il web scraping si può usare per confrontare prezzi online, monitorare dati meteorologici, rilevare modifiche in un sito internet, nella [[ricerca scientifica]], per il [[mash-up (informatica)|web mashup]] e il [[data integration (informatica)|web data integration]].
Riga 31:
Per modificare o ispezionare una pagina web, vengono analizzati gli script lato client, che successivamente verranno organizzati in un DOM tree. DOM è utilizzato principalmente per recuperare informazioni da documenti con una strutturazione non standard, cioè dove gli elementi vengono trovati in modo casuale.<ref>{{Cita pubblicazione|data=2017-08-23|titolo=Document Object Model|rivista=Wikipedia|lingua=it|accesso=2017-12-28|url=https://it.wikipedia.org/w/index.php?title=Document_Object_Model&oldid=90594870}}</ref> In fine (attraverso un browser web completo) sarà possibile interrogare e recuperare informazioni dall'albero.
 
'''<span style="font-size: 120%;">Riconoscimento dell'annotazione semantica</span>'''
 
Nella maggior parte delle pagine web sono presenti annotazioni semantiche (o markup) e [[Metadato|metadati]] che possono essere facilmente reperiti e utilizzati per trovare frammenti di dati specifici. Questo potrebbe essere un semplice caso di DOM parsing se i metadati sono incorporati solamente nella pagina web. In caso contrario le annotazioni organizzate in diversi livelli vengono archiviate e gestite separatamente dalle pagine web, in modo tale che gli scraper possano recuperare le istruzioni e i dati da questo livello prima di eseguire lo scraping delle pagine.
Riga 61:
* Utilizzare servizi anti-bot commerciali: le aziende offrono ai siti web servizi anti-bot e anti-scraping.
* Individuare i bot tramite gli [[honeypot]] o attraverso un altro metodo di identificazione di indirizzi IP dei [[crawler]] automatici.
* Aggiungere piccole variazioni di HTML/CSS per circondare dati importanti ed elementi di navigazione. Facendo ciò sarà necessario richiedere maggior coinvolgimento umano per la configurazione iniziale di un bot, questo perché essi si affidano alla consistenza del codice front-end del sito di destinazione. Se eseguito in maniera corretta si potrebbe rendere il sito web di destinazione troppo difficile da "raschiare" a causa della ridotta capacità di automatizzazione del processo di web scraping.
 
==Software==