L’ arte della copia ai tempi del web (seconda parte)

Content grabbing

Se l’attività di copia da siti web riguarda contenuti testuali piuttosto che dati strutturati si parla più comunemente di content grabbing: interi articoli o testi di vario genere vengono copiati in maniera lecita o illecita da altri siti per vari possibili scopi. Il più comune è alimentare i propri siti senza faticare a scrivere di persona i contenuti: è abbastanza diffuso il malcostume di creare blog, news feed e siti tematici semplicemente copiando i contenuti altrui.

In questo modo si diffondono ad es. le fake news e i contenuti dai titoli sensazionali, che hanno come scopo quello di aumentare le visite a un sito per generare rendite pubblicitarie oppure, nei casi peggiori, di spingere l’utente a cliccare link verso siti che hanno intenti illeciti (il cosiddetto clickbait).

Quando si parla di copiare testi altrui si entra nelle problematiche legate al plagio(1). Il problema è molto sentito nelle pubblicazioni scientifiche e, soprattutto, nell’educazione scolastica in paesi come gli Stati Uniti. Si dice che la maggior parte degli studenti superiori statunitensi ricorra al plagio per svolgere i temi assegnati negli esami(2). Forse questo è vero anche per gli italiani (vedi caso Madia(3)), ma è sicuramente più facile negli Stati Uniti visto che la stragrande maggioranza dei contenuti internet è in lingua inglese.

Strumenti e metodi

Il content grabbing si fa spesso in modo manuale e non automatico, perché si cercano contenuti specifici da inserire in modo mirato in qualche contesto diverso dall’originale. Anche in questo caso, esiste un mercato di manodopera a basso prezzo per svolgere questo compito, ma si è creato comunque spazio per lo sviluppo di tecnologie, prodotti e servizi specializzati.

La parte del leone lo fanno i servizi online per la rilevazione dei plagi, che sono in grado di analizzare testi e ricercarne su internet o su proprie basi dati la corrispondenza totale o parziale con altri documenti. Alcuni dei più importanti sono Turnitin (usato in ambito scolastico US),  Ithenticate (in ambito editoriale) e lo svedese Urkund, ma ne esistono un gran numero, anche gratuiti, che si basano per la maggior parte sui motori di ricerca usuali (ad es. Quetext e Grammarly).

E allora, come si difendono i plagiari da questi servizi anti-plagio? Come copiare senza essere beccati con le mani nella marmellata? Se il contenuto è in lingua inglese, non c’è problema: possono usare un trasformatore di testo come WordAIArticle Rewriter, Spinbot o Paraphrasing Tool. Si tratta di strumenti che rimpiazzano con sinonimi tutte le parole che possono essere sostituite, con un risultato stilisticamente criticabile ma probabilmente sufficiente a sfuggire ai motori anti-plagio.  Non riuscirebbero però a ingannare un revisore umano che avesse modo di confrontare il testo originale con la copia.

Se si tratta di testi in una lingua diversa dall’inglese, non mi risultano ci siano strumenti di supporto decenti e penso che questo sia un bene. Se proprio si vuole, si può pagare un servizio di riscrittura (come ad es. 11marketing.it).

La copia di immagini

Sarà capitato a molti di noi di copiare un’immagine, un’icona o una fotografia da internet per usarla in una mail, come propria immagine del profilo, per una presentazione o un documento.  Le stesse immagini usate nella “copertina” di questi articoli sono prelevate da internet senza preoccuparsi di chiedere l’autorizzazione agli autori e quindi saranno rimpiazzate nel momento in cui questi stessi articoli dovessero essere resi di dominio pubblico.

Si tratta in effetti del caso più comune di copia non autorizzata e preoccupa soprattutto coloro che per mestiere producono immagini, cioè fotografi, grafici e creativi in genere(4). Non è un campo in cui sono molto ferrato, per cui mi limito a segnalare che esistono mezzi per “marcare” le immagini in modo che sia più difficile utilizzarle senza autorizzazione e sia più facile rilevarne le copie non autorizzate. I due metodi principali sono il watermarking (vedi ad es. questo => articolo) e il digital watermarking, metodo di inclusione di informazioni in modo invisibile all’utente, utilizzando la tolleranza al “rumore” delle codifiche fotografiche, audio e video (vedi  ad es. l’argomento su wikipedia e i prodotti Digimark).

Per i nostri bisogni di ottenere immagini in modo legittimo, esistono comunque un gran numero di “archivi” fotografici (per la maggior parte a pagamento) contenenti centinaia di milioni di immagini (vedi lista dei più importanti in questa pagina di wikipedia). Non si può poi non citare Wikimedia Commons, che contiene circa 38 milioni di immagini caricate dagli utenti e in gran parte usabili senza particolari vincoli.

Per chi volesse controllare l’utilizzo di una determinata immagine in pagine internet, ad es. per controlli antiplagio, sono fondamentali il motore di ricerca immagini di google (sapete certamente che si possono cercare le immagini simili ad una data immagine semplicemente caricandola in images.google.com) e altri strumenti come TinEye e CopyTrack.

Conclusioni

In fondo non c’è nulla di nuovo sotto il sole: come spiega il dettagliato articolo di wikipedia sul Cut, Copy and paste, tutto è cominciato con un paio di forbici e della colla; poi nel 1983 è intervenuta l’Apple introducendo le combinazioni di tasti cmd-C e cmd-V; da lì in poi non ci siamo più fermati.

 

Note e riferimenti

(1) una breve spiegazione del tema si può trovare qui: http://www.marchiebrevettiweb.it/angolo-del-professionista/2660-plagio-di-immagini-e-contenuti-web-strumenti-di-tutela.html

(2) http://www.plagiarism.org/resources/facts-and-stats/

(3) http://www.ilfattoquotidiano.it/premium/articoli/madia-dottorato-con-4-mila-parole-copiate-nella-tesi/

(4) http://www.fotografiaprofessionale.it/il-plagio-e-il-furto-in-fotografia-come-difendersi-13

L’arte della copia ai tempi del web (prima parte)

Nell’era del web e dei social network si stima che fino al 30%(1) dei contenuti visibili sia costituito da copie e duplicati. Le ragioni per cui questo accade, i modi con cui si realizza e gli effetti che ne conseguono costituiscono una storia a sé, che voglio raccontare, per quanto posso, in questo articolo e nel successivo.

Web scraping

La prima e forse più nobile arte della copia su web è il cosiddetto “web scraping”: si catturano informazioni da siti web per costruire propri database di dati, da usare poi per la costruzione di altri siti, la scrittura di applicazioni, la creazione di mailing list ecc. Obiettivi preferenziali degli scrapers  sono i siti che contengono basi di dati utili a varie attività commerciali (elenchi telefonici, indirizzari, cataloghi di prodotti o servizi, registri professionali, orari e tariffari dei trasporti, repertori di varia natura ecc.)

Ovviamente questa raccolta di dati non si fa manualmente (salvo eccezioni), ma si usano programmi fatti apposta, prodotti software e servizi online; quando si parla di web scraping si sottintende di solito che si tratta di attività automatiche e periodiche, effettuate tramite automi software (bots).

Normalmente, il fruitore non va troppo per il sottile e non si preoccupa di accertare se l’operazione sia lecita oppure violi qualche regola di copyright; nella maggioranza dei casi lo scopo è quello di ottenere gratis dati che altrimenti costerebbero molto o sarebbero inaccessibili; per questo, lo “scraper” tipico sa di “fare il furbo” e di usare metodi che come minimo non rispettano lo spirito del copyright.

Non sempre, però, il web scraping è un’operazione illecita o al limite della decenza. Secondo alcuni è un modo in cui l’informazione in rete si ristruttura, si aggrega e acquisisce una maggiore intelligenza, trasformando la massa informe di dati in qualcosa di più simile ad una base dati condivisa.

Inoltre, se i dati oggetto dello scraping sono pubblicamente disponibili senza protezioni, lo scraping è effettivamente uno dei modi leciti in cui questi dati contribuiscono a creare ulteriori servizi e prodotti. Qualche esempio lo abbiamo in casa nostra: le App per iOs e Android “Farmacross” e “Comuni d’Italia” si basano su basi dati proprie costruite con una serie di operazioni di acquisizione da fonti pubbliche (tra cui la Base Date dei Farmaci AIFA, i report demografici ISTAT, e numerose altre). Per arrivare a rendere questi dati usabili per i nostri obiettivi è necessaria una serie di operazioni non banali di integrazione e bonifica dei dati, operazioni che a tutti gli effetti creano del valore aggiunto rispetto alle informazioni grezze originali.

Strumenti e metodi

Una delle cose interessanti in merito al web scraping è che ha fatto nascere un intero settore specifico dell’informatica e ha portato al fiorire di una serie di prodotti e servizi intorno a quest’area.

Dal punto di vista tecnico, il primo approccio al web scraping è semplice: i contenuti pubblicati su Web si presentano come pagine HTML ottenute dal browser richiamando con il protocollo HTTP un web server. Dato che una chiamata HTTP può essere effettuata da qualsiasi linguaggio di programmazione moderno, il web scraping più elementare consiste nello scrivere programmi (di solito con php, python, c#, javascript, java) che effettuano le chiamate necessarie, acquisiscono il contenuto della pagina e ne estraggono le informazioni desiderate. Ci sono di mezzo una serie di “technicalities”  che rendono la cosa meno banale di quanto sembri, ma il concetto resta semplice.

Fino a una dozzina di anni fa, questo metodo elementare avrebbe funzionato con gran parte dei siti esistenti; però, il disturbo che questo creava ai legittimi proprietari dei siti (sia in termini di violazioni di copyright, sia per i disservizi dovuti al sovraccarico di accessi) ha fatto nascere e diffondere contromisure via via più complesse e, in parallelo, metodi di scraping sempre più sofisticati.

Captcha

Uno dei più diffusi e semplici sistemi di protezione dallo scraping è l’uso di captcha(2) cioè di quella specie di quiz visivo che tutti noi abbiamo incontrato su qualche sito, escogitato per verificare che la pagina sia stata raggiunta da un essere umano e non da uno “stupido” programma.

Dato che i programmi sono sempre meno “stupidi”, il tipo di quiz si evolve nel tempo; ma i maniaci dello scraping sono ingegnosi e hanno inventato una curiosa soluzione per questo problema, se si hanno i fondi per pagarla. Basta affittare un servizio di risoluzione dei captcha (“captcha solver”); si ricevono le istruzioni per collegare il programma al servizio attraverso un’interfaccia (Api): il programma invia l’immagine del captcha e ottiene dopo circa 15 secondi il testo che risponde al problema.

Ma come fa il captcha solver a interpretare l’immagine? Semplice: la passa ad un operatore umano, che ha l’unico (ingrato) compito di immettere la risposta (e deve farlo entro pochi secondi, se vuole essere pagato). Non ci vuole molto a capire che questi servizi possono nascere solo in paesi dove il costo del lavoro è molto basso; comunque, se siete interessati a guadagnare lavorando da casa (ben 0,88$ per 1000 captcha risolti) potete ad es. rivolgervi qui: https://2captcha.com/make-money-online.

Protezione basata su Javascript

Se non ci sono captcha a bloccare l’accesso, il sito si può proteggere in vari modi. Uno dei più semplici è non produrre il contenuto HTML nel primo messaggio HTTP diretto al browser ma invece comporlo dinamicamente utilizzando le funzioni del browser. Ad es. le nostre applicazioni HTML5 / CSS3 / Javascript costruite con framework come ExtJs o JQuery rientrano in questa categoria: la pagina HTML vera e propria contiene ben poco, perché i veri dati sono ottenuti da chiamate Ajax che avvengono in vari punti del codice javascript, dopo che la pagina HTML è stata ricevuta dal browser.

In questo caso, se il programma di scraping è troppo semplice non vede alcun contenuto utile nella pagina HTML e le tecniche di programmazione per superare l’ostacolo in questo caso diventano un po’ più sofisticate. Però se il sito non ha altre protezioni esplicitamente progettate, un programmatore sufficientemente esperto e volenteroso può individuare (con gli strumenti di debugging del browser) le chiamate HTTP interne alla pagina e riuscire a simularle da programma.

Bot detection tools

Per eliminare completamente (o quasi) il problema degli scrapers, i siti meglio attrezzati si dotano di strumenti anti-bot: si tratta di strumenti che tentano di riconoscere quando un accesso ad un sito è effettuato presumibilmente da un robot e lo bloccano con un messaggio informativo (vedi ad es. questa pagina).

Nella forma più semplice, un anti-bot non fa altro che controllare alcune caratteristiche del messaggio HTTP (headers), verificare che non avvengano troppe richieste per unità di tempo da uno stesso indirizzo IP ed escludere indirizzi di provenienza appartenenti a qualche blacklist. Questi controlli possono però essere abbastanza facilmente superati da un programma abbastanza sofisticato; nel tempo si sono perciò sviluppati meccanismi molto più complessi: gli anti-bot più avanzati si basano su complessi metodi di composizione delle pagine in più fasi, che includono l’esecuzione di porzioni di codice javascript criptato e variabile. Pur essendo in teoria possibile violare questi sistemi, il costo per violarli diventa talmente alto da dissuadere gli eventuali attaccanti.

Il business

Come dicevo, è interessante notare che si è sviluppato un business specifico intorno a questi temi, su entrambi i lati della barricata: ci sono società come Distil Networks  e ShieldSquare che basano il loro fatturato sugli strumenti di protezione dai bots, e altre società e comunità che lavorano per superare quelle stesse protezioni.

Ad es. Selenium è un progetto open-source che sviluppa funzioni per simulare le azioni di un operatore umano su un browser Chrome, Firefox, IE; formalmente nato per l’automazione dei test di applicazioni web-based, è più diffuso come strumento di web scraping.

Esistono poi un gran numero di servizi online che dichiarano di utilizzare tecnologie avanzate di web scraping e in alcuni casi offrono anche applicazioni gratuite da utilizzare sul proprio computer: il più noto è probabilmente Import.io, ma potete trovare una lista piuttosto esauriente in questo => blog.

Infine, caso mai non foste appagati dai 9 dollari guadagnati decifrando i vostri primi 10mila captcha, potete proporvi su uno dei tanti progetti di web scraping umano attraverso siti tipo www.freelancer.com o www.peopleperhour.com: cercate titoli come “Fill Excel spreadsheet with data” e potrete facilmente guadagnare anche 4 dollari in un’ora, copiando accuratamente a mano l’elenco degli annunci da un sito di e-commerce arabo  oppure i nomi e i recapiti di 20mila medici  da un sito pakistano.

A presto, e restate sintonizzati per la Parte Seconda…


Note e riferimenti

(1) http://searchengineland.com/googles-matt-cutts-25-30-of-the-webs-content-is-duplicate-content-thats-okay-180063
(2) https://it.wikipedia.org/wiki/CAPTCHA

Abbiamo un blog

E così, in pochissimo tempo, un’idea buttata lì quasi per caso si è realizzata. O meglio, per adesso ha solo preso il via. Poi, la scommessa sarà quella di mantenere questo blog vivo e vitale, di farlo crescere, ovviamente con la collaborazione di tutti.

La proposta di aprire questo spazio sul sito aziendale era scaturita dalla considerazione che ognuno di noi avesse informazioni, interessi, conoscenze – non solo in campi strettamente lavorativi – che rimanevano di fatto sconosciute e che sarebbe stato importante portare alla luce, riuscire a tirare fuori e condividere.

Penso che chiunque di noi, negli anni che ha dedicato a questo lavoro, abbia pensato, prima o poi, di “informatizzare” qualcosa legato ai propri interessi personali, a un hobby, a una idea qualsiasi nei campi più diversi, dall’astronomia alle ricette della nonna, dalla fotografia ai giochi sparatutto o a quelli per bambini, dalla grafica 3D a come creare un ebook – o a qualsiasi altra cosa, perché questa lista in realtà non ha fine e può contenere di tutto – e nel far questo abbia approfondito argomenti e acquisito conoscenze che poi forse non ha mai concretizzato in progetti reali.

E poi tutto quello che impariamo con il nostro lavoro, sulle nuove piattaforme, i problemi che risolviamo nei nostri progetti, informazioni sui prodotti, gli ambienti. Questo spazio potrà essere usato per condividere le nostre esperienze, così come ha iniziato a fare Giorgio con il primo articolo, scrivere veri e propri tutorial o semplici tip & tricks, riportare resoconti di corsi o di eventi esterni a cui abbiamo partecipato, o interni come i nostri AperiLogica.

Questa potrebbe essere l’occasione per mettere un po’ di ordine in quello che sappiamo, per riorganizzarlo in modo da renderlo fruibile anche ad altri. Esporre qualcosa, conoscenze  che magari abbiamo in testa in forma frammentaria, scrivendo una specie di articolo potrebbe sembrare un compito arduo, oltre le proprie possibilità – e in effetti, almeno per me,  lo è – ma in realtà bisogna solo provarci. E nessuno verrà a cercare qui dentro articoli da Premio Pulitzer. E comunque si possono anche usare altre forme di divulgazione, come  ad esempio dei video.

Credo che non ci sia limite, né alle forme né ai contenuti, di quello che potrebbe essere scritto qui, che rimane comunque interno e non visibile su internet. Però è anche vero che questa potrebbe essere l’occasione di raccogliere materiale da esporre all’esterno, per arricchire l’immagine della nostra azienda su internet. Pensate anche a questo.