• Non ci sono risultati.

3.4 Ricerca avanzata con Google Search

3.4.2 Parametri HTTP del Protocollo di Ricerca di Google

Se si inserisce “mario rossi” nella barra di ricerca sulla pagina di www.google.it, nel momento io cui si preme invio si potrà notare che nella barra degli indi- rizzi del browser che si sta usando compare una URI di questo tipo:

https://www.google.it/search?q=mario+rossi

Se invece la stringa viene inserita direttamente nella barra degli indirizzi, in questo caso, un browser Firefox, ecco che la URI che ne risulta sarà molto più complessa:

https://www.google.it/search?q=mario+rossi&ie=utf-8&oe=utf-8& client=firefox-b&gfe_rd=cr&ei=GlZiWIilOdTA8gfv9q_YCQ

Ciò che si può osservare, è che entrambi le URI generate condividono la prima parte, cioè https://www.google.it/search?q=mario+rossi, la ri- chiesta inviata da Firefox aggiunge una stringa ulteriore, nella quale si può individuare un client=firefox che ci fa pensare che tutto ciò che è conte- nuto nella stringa si tratti di una serie di informazioni relative alla versione integrata a Firefox di Google Search.

Se adesso si prende la URI “pulita” https://www.google.it/search?q=mario+rossi e la si copia e incolla nella barra degli indirizzi di qualsiasi browser (che sia

Firefox, Chrome, Safari, Opera ecc.) si noterà che la pagina restituita sarà esattamente la stessa, cioè la SERP della ricerca per “mario rossi”.

Questo ci fa capire che quando si invia una richiesta a Google, quello che facciamo non è altro che generare e inviare una richiesta HTTP alla base di dati di Google, il quale restituirà come risposta la SERP dei risultati ottenuti dalla ricerca.

Una richiesta di ricerca di Google è una tipica richiesta HTTP di tipo GET, che restituisce risultati in HTML o in alternativa (se richiesto) in XML. La stringa che viene dopo https://www.google.it è il path che descrive la query di ricerca ed è costituito da /search?, sempre presente anche se a volte sostituita dal simbolo #, e da una serie di paramentri separati da & che

sono chiamati parametri di input. Tutti questi parametri fanno parte del protocollo di ricerca di Google.

Il ruolo del paramentro q è facilmente intuibile: il suo valore è la stringa della query di ricerca inserita dall’utente, che aggiunge un + laddove la stringa sia composta da più parole separate da spazio. Il parametro ie imposta la codifica dei caratteri che è usata per interpretare la query di ricerca, che nel caso dell’esempio sopra è utf-8, mentre oe imposta la codifica usata per codificare i risultati. Il paramentro client indica il front end da cui viene inviata la richiesta, in questo caso Firefox. Il paramentri gfe_rd e ei non sono presenti nella documentazione fornita da Google. Tuttavia da una ricerca sul web sembra che gfe stia per “Google Front End” e rd significhi “Redirect”, mentre il valore cr sia “Country”: il paramentro indica quindi che è avvenuto un reinderizzamento alla versione di Google del proprio paese. Il parametro ei invece sta per “Engine Id” ed è un cookie inviato al desktop.

Tutto ciò significa che, a patto di conoscere bene il protocollo di ricerca di Google, è possibile costruirsi delle richieste HTTP personalizzate che ci consentono di affinare la ricerca ad un livello ancora più sofisticato degli Operatori di Ricerca Avanzata.

I parametri di input del protocollo di ricerca sono molti, qui di seguito sono elencati i più importanti e i più interessanti6.

• q: stringa della query di ricerca.

• num: consente di definire il numero di risultati per pagina. Il valore del parametro non può superare il numero 1000.

• start: specifica il numero di indice del primo risultato che deve essere restituito nella lista dei risultati. In altre parole, si può stabilire se Google deve restituire i risultati a partire dal primo oppure dal decimo o dal ventesimo, ossia dalle pagine della SERP successive alla prima. • rc: richiede un accurato conteggio dei risultati fino a 1.000.000 docu-

menti

• site: limita la ricerca a contenuti appartenenti ad un determinato dominio.

6

Google, Google Protocol Reference, https://www.google.com/support/enterprise/static/gsa/docs/admin/72/gsa_doc_set/xml_reference/request_format.html, 19/4/2017.

• sort: specifica un criterio di ordinamento dei risultati, come per esem- pio per data.

• client: determina il front end da cui far partire la richiesta HTTP, per esempio firefox-a se si vuole impostare Mozilla Firefox

• output: seleziona il formato dei risultati di ricerca, come html o xml. • partialfields: restringe la ricerca a documenti con meta-tag il cui

valore contiene la parole specificate

• requiredfields: restringe la ricerca a documenti che contengono esat- tamente i tag name o coppie di nome-valore specificati

• pws: abilita/disabilita la personalizzazione

• filter: quando settato su 0, include risultati omessi

• complete: attiva (=1) o disattiva (=0) le funzioni di Autocomplete e Google Instant

• nfpr: attiva (=1) o disattiva (=0) l’autocorrezione

• ncr: imposta il redirect alla versione di Google del Paese di un determi- nato Paese. Consente così di settare il Paese da cui vogliamo ottenere la versione di Google indipendentemente dalla posizione geografica da dove viene inviata la richiesta.

• safe: abilita/disabilita filtro per contenuti per adulti

• tbm: serve a selezionare ricerche speciali, come per immagine, video, notizie ecc.: – Applicazioni: tbm=app – Libri: tbm=bks – Immagini: tbm=isch – Notizie: tbm=nws – Brevetti: tbm=pts – Video: tbm=vid

– qualsiasi data: tbs=qdr:a – ultimo secondo: tbs=qdr:s – ultimo minuto: tbs=qdr:n

– ultimi 10 minuti: tbs=qdr:n10 (and così via per tutti numeri di minuti)

– ultima ora: tbs=qdr:h

– ultime 12 ore: tbs=qdr:h10 (e così via per tutti i numeri di ore) – ultimo giorno: tbs=qdr:d

– ultima settimana: tbs=qdr:w – ultimo mese: tbs=qdr:m – ultimo anno: tbs=qdr:y

– un intervallo di tempo specifico, per esempio dal 2 marzo 1984 al 5 giugno 1987: tbs=cdr:1,cd_min:3/2/1984,cd_max:6/5/1987 – ordinamento per data: tbs=sbd:1

– ordinamento per rilevanza: tbs=sbd:0

• lr: restringe la ricerca a pagine in una lingua specificata. • hl: impostazioni di lingua forniti dal browser

• cr: la regione da cui il risultato dovrebbe provenire • gr: limita i risultati a una certa regione

• gcs: limita i risultati a una certa città, oppure latitudine e longitudine • ie: input encoding, cioè imposta la codifica dei caratteri usata per

interpretare la stringa di ricerca

• oe: output encoding, cioè imposta la codifica dei caratteri usata per restituire i risultati

• sitesearch: svolge esattamente la stessa funzione dell’operatore site: • access: specifica se la ricerca deve includere solo contenuti pubblici

Capitolo 4

Scrappy: progettazione di un

SERP Scraper

per il

monitoraggio dell’identità

digitale

4.1

Monitoraggio automatico della SERP

L’analisi manuale della SERP ha un ruolo fondamentale e insostituibile nel monitoraggio dell’identità digitale. Oltre ad essere la soluzione più immedia- ta e intuitiva per fare un check up reputazionale, la sua grande importanza risiede nel fatto che quanto va cercato, per condurre un’analisi sull’identità digitale di un soggetto, è tutto ciò che gli altri possono trovare su di lui. Agire, pensare e comportarsi come se si fosse un utente in cerca di informa- zioni su quella persona e, soprattutto, usare i suoi stessi strumenti è senza dubbio la migliore strategia per prendere coscienza di come gli altri possono conoscerla navigando sul Web. Tuttavia, il processo è lento e non può essere fatto con una periodicità giornaliera.

Per eseguire un monitoraggio continuativo nel tempo, quanto più pos- sibile omogeneo nel tipo di dati che vengono raccolti e archiviati, è neces- sario uno strumento in grado di sostituirsi al lavoro umano e ispezionare automaticamente il contenuto della SERP per restituire dati strutturati e normalizzati.

nel rendere più veloce, e quindi più comoda, la raccolta di informazioni, ma consente di poter utilizzare quest’ultime all’interno di programmi per l’analisi di dati come per esempio Microsoft Excel o Google Sheets.

Ciò che un programma del genere deve eseguire è, data una search query - la stessa che verrebbe inserita nella query box di Google - simulare la ricerca e la visita della SERP restituita per raccogliere tutti i dati necessari all’analisi dell’identità digitale sul motore di ricerca.