|
|
Webbot e spider i ragni della rete guida completa
|
| Editore | Apogeo |
| Autore | Schrenk Michael |
| Titolo originale | Webbots, Spiders, and Screen Scrapers |
| Editore originale | No Starch Press |
| Collana | Guida completa |
| Pagine | 306 |
| Volumi | 1 |
| Livello | Intermedio-Avanzato |
| Lingua | Italiano |
| Data pubblicazione | 06 - 2007 |
| ISBN | 8850326587 |
|
|
| Prezzo di copertina | Sconto | Prezzo Librinformatica |
| Euro 35,00 | 10% | Euro 31,50 |
|
Introduzione
Tecnologia client-server vecchia scuola
I limiti dei browser
Cosa potete aspettarvi da questo libro
Imparare dai miei errori
Impadronirsi delle tecniche
Sfruttare script esistenti
Il sito web
Il codice
Prerequisiti
Hardware
Software
Accesso a Internet
Esclusione di responsabilità (importante!)
Parte I Concetti e tecniche fondamentali
Capitolo 1 Cosa vi offre questo libro?
Scoprire il vero potenziale di Internet
Cosa offre agli sviluppatori?
Grande richiesta di sviluppatori di webbot
I webbott sono divertenti da scrivere
I web robot facilitano l’”hacking costruttivo”
Cosa offre ai manager?
Personalizzare Internet per la vostra azienda
Trarre vantaggio dall’inesperienza del pubblico con i webbot
Ottenere molto con un piccolo investimento
Considerazioni finali
Capitolo 2 Alcune idee per progetti basati su web robot
L’ispirazione indotta dalle limitazioni dei comuni browser
Webbot che aggregano e filtrano le informazioni in base alla loro importanza
Webbot che interpretano quello che trovano
Webbot che agiscono per procura
Alcune idee folli per iniziare
Aiutare un dirigente impegnato
Risparmiare automatizzando
Progettare la proprietà intellettuale
Ricercare opportunità
Controllare i diritti di accesso di un sito web
Creare un servizio di ritaglio articoli online”
Ricostruire una mappa di reti Wi-Fi non autorizzate
Tracciare le tecnologie web
Permettere la comunicazione tra sistemi incompatibili
Considerazioni finali
Capitolo 3 Scaricare pagine web
Scaricare pagine web
Pensare a file, non a pagine web
Scaricare file con le funzioni integrate di PHP
Scaricare file con fopen() e fgsets()
Creazione del primo script di webbot
Esecuzione di un webbot da una shell (riga di comando)
Esecuzione di un webbot da un browser
Scaricare file con file()
Introduzione a PHP/CURL
Molteplici protocolli di trasferimento
Invio di form
Autenticazione Basic
Cookie
Redirection
Imitare gli Agent Name
Gestione del referer
Gestione dei socket
Installazione di PHP/CURL
LIB_http
Familiarizzare con i valori predefiniti
L’uso di LIB_http
http_get()
http_get_wotheheader()
Ulteriori informazioni sugli header HTTP
Analisi del codice sorgente di LIB_http
I valori predefiniti di LIB_HTTP
Funzioni di LIB_http
Considerazioni finali
Capitolo 4 Tecniche di parsing
Effettuare il parsing di codice HTML scritto male
Routine di parsing standard
Usare LIB_parse
Dividere una stringa con un separatore: split_string()
Estrarre il testo compreso tra due separatori: return between()
Estrarre un insieme di dati per ottenere un array: parse_array()
Estrarre i valori degli attributi: get_attribute()
Rimuovere porzioni di testo non desiderate: remove()
Alcune funzioni PHP
Riconoscere una stringa contenuta in un’altra stringa
Sostituire una porzione di stringa con un’altra stringa
Rimuovere la formattazione dal testo
Misurare la somiglianza tra stringhe
Considerazioni finali
Non fidarsi di una pagina web fuori standard
Tentare il parsing a piccoli passi
Non formattare il testo durante il debugging
Prestare attenzione nell’uso delle espressioni regolari
Capitolo 5 Automatizzare l’invio di form
Reverse engineering dei form
Form handler, campi dati, metodi ed event trigger
Form handler
Campi dati
Metodi
Il metodo GET
Il metodo POST
Event Trigger
Form imprevedibili
JavaScript può modificare un form appena prima dell’invio
Il form HTML è spesso illeggibile per le persone
I cookie non sono inclusi nel form, ma possono influenzare le operazioni
Analizzare un form
Considerazioni finali
Non farsi scoprire
Imitare correttamente i browser
Evitare errori di form
Capitolo 6 Gestire grandi quantità di dati
Organizzare i dati
Convenzioni sui nomi
Immagazzinare i dati in file strutturati
Immagazzinare testi d
in un database
La funzione insert()
La funzione update()
La funzione exe_sql()
Immagazzinare immagini in un database
Database o file?
Rendere i dati più piccoli
Immagazzinare i riferimenti ai file di immagini
Comprimere i dati
Compressione dei file in arrivo
Comprimere i file sull’hard disk
Rimuovere la formattazione
Creare miniature di immagini
Considerazioni finali
Parte II Applicazioni
Capitolo 7 Webbot per monitorare i prezzi
Il target
Scrivere lo script di parsing
Inizializzazione e download del target
Ulteriori esplorazioni
Capitolo 8 Webbot per catturare immagini
Esempio di webbot per catturare le immagini
Creare un webbot per catturare le immagini
Routine di download binary-safe
Struttura di directory
Lo script principale
Inizializzazione e convalida del target
Definire la page base
Creare una root directory per la struttura dei file importanti
Parsing dei tag di immagine dalla pagina web scaricata
Il ciclo per il trattamento delle immagini
Creare la struttura di directory locale
Scaricare e salvare il file
Ulteriori sviluppi
Considerazioni finali
Capitolo 9 Webbot per verificare i link
Creare un webbot per verificare i link
Inizializzare il webbot e scaricare la pagina target
Impostare il page base
Eseguire il parsing dei link
Eseguire un ciclo di verifica
Generare URL completo
Scaricare la pagina collegata
Visualizzare lo stato della pagina
Eseguire il webbot
LIB_http_codes
LIB_resolve_addresses
Ulteriori sviluppi
Capitolo 10 Webbot per la navigazione anonima
Anonimato con i proxy
Ambienti senza proxy
Esposizione online
Ambienti proxy
L’applicazione anonymizer
Scrivere l’anonymizer
Scaricare e preparare la pagina web target
Modificare il tag
Eseguire il parsing dei link
Sostituire i link
Visualizzazione della pagina web scaricata dal proxy
Considerazioni finali
Capitolo 11 Webbot per valutare il rank delle proprie pagine
Descrizione di una pagina di risultati di ricerca
Cosa da un webbot per il search ranking
Eseguire un webbot per il search ranking
Come funziona un webbot per il search raanking
Lo script del webbot per il search ranking
Inizializzare le variabili
Iniziare il loop
Recuperare i risultati della ricerca
Eseguire il parsing dei risultati della ricerca
Considerazioni finali
Essere gentili con le proprie fonti
I siti di ricerca potrebbero trattare i webbot diversamente dai browser
Lo spidering dei motori di ricerca non è una buona idea
Familiarizzare con Google API
Ulteriori sviluppi
Capitolo 12 Webbot di aggregazione
Scegliere le fonti dei dati per i webbot
Esempio di webbot di aggregazione
Familiarizzazione con i feed RSS
Scrivere il webbot di aggregazione
Download e parsing del target
Uso di CDATA
Aggiungere filtri al webbot di aggregazione
Ulteriori sviluppi
Capitolo 13 Webbot FTP
Esempio di webbot FTP
PHP e FTP
Ulteriori sviluppi
Capitolo 14 Webbot per NNTP News
Storia e uso di NNTP
Webbot e newsgroup
Identificare i news server
Identificare i newsgroup
Trovare gli articoli nei newsgroup
Leggere un articolo da un newsgroup
Ulteriori sviluppi
Capitolo 15 Webbot per leggere e-mail
Il protocollo POP3
Accedere a un server mail POP3
Leggere la posta da un server mail POP3
Il comando POP3 LIST
Il comando POP3 RETR
Altri comandi utili POP3
Eseguire i comandi POP3 con un webbot
Ulteriori sviluppi
Webbot controllati via e-mail
Interface e-mail
Capitolo 16 Webbot per inviare e-mail
E-mail webbot e spam
Inviare e-mail con SMTP e PHP
Configurare PHP per inviare e-mail
Inviare un’e-mail con mail()
Scrivere un webbot che invia notifiche e-mail
Tenere le e-mail lecite fuori dai filtri anti-spam
Inviare e-mail con formattazione HTML
Ulteriori sviluppi
Usare le e-mail tornate al mittente per sfoltire le liste di accesso
Usare le e-mail come notifica dell’esecuzione di un webbot
Sfruttare le tecnologie wireless
Scrivere un webbot che invii messaggi di testo
Capitolo 17 Convertire un sito web in una funzione
Scrivere una funzione d’interfaccia
Definire l’interfaccia
Analizzare la pagina web target
Usare describe_zipcode()
Ottenere il valore della sessione
Inviare il form
Eseguire il parsing e riportare i risultati
Considerazioni finali
Distribuire le risorse
Usare interfacce standard
Progettare un semplice “Web Service” personalizzato
Parte III Considerazioni tecniche avanzate
Capitolo 18 Spider
Come funzionano gli spider
Un esempio di spider
LIB_simple_spider
harvest_links()
archive_links()
get_domain()
excluded_link()
Fare esperimenti con lo spider
Aggiungere il playload
Ulteriori sviluppi
Salvare i link in un database
Separare la raccolta e il payload
Distribuire le operazioni su più computer
Regolare le richieste delle pagine
Capitolo 19 Webbot che acquistano per procura
Teoria dei procurement webbot
Stabilire i criteri di acquisto
Autenticare il compratore
Verificare l’oggetto
Valutare i trigger di acquisto
Completare l’acquisto
Valutare i risultati
Teoria degli sniper
Ottenere i criteri di acquisto
Autenticare il compratore
Verificare l’oggetto
Sincronizzare gli orologi
E’ il momento di fare un’offerta
Inviare un’offerta
Valutare i risultati
Testare webbot e sniper
Ulteriori sviluppi
Considerazioni finali
Capitolo 20 Webbot e crittografia
Progettare un webbot come usi la crittografia
Crittografia e PHP/CURL
Una breve panoramica sulla crittografia dei contenuti web
Certificati locali
Considerazioni finali
Capitolo 21 Autenticazione
Cos’è l’autenticazione?
Tipi di autenticazione online
Rafforzare l’autenticazione combinando tecniche diverse
Autenticazione e webbot
Script di esempio e pagine di prova
Autenticazione basic
Autenticazione di sessione
Autenticazione con sessione nei cookie
Come funzionano i cookie
Autenticazione con sessione nella query
Considerazioni finali
Capitolo 22 Gestione automatica dei cookie
Come funzionano i cookie
PHP/CURL e cookie
Perché i cookie sono una sfida per i webbot
Eliminare i cookie temporanei
Gestire i cookie di più utenti
Ulteriori sviluppi
Capitolo 23 Pianificazione di webbot e spider
Le operazioni pianificate di Windows
Preparare il webbot per essere eseguito come operazione pianificata
Pianificare l’esecuzione giornaliera di un webbot
Pianificazioni complesse
Trigger non basati sulle date
Considerazioni finali
Determinare la migliore periodicità di un webbot
Evitare malfunzionamenti
Aggiungere variabilità alla pianificazione
Parte IV Considerazioni più ampie
Capitolo 24 Progettare webbot e spider che non danno nell’occhio
Perché progettare un webbot segreto?
File di log
Log degli accessi
Log degli errori
Log proprietari
Software per monitorare i log
Non dare nell’occhio significa imitare i modelli umani
Trattare le risorse con rispetto
Eseguire il webbot nelle ore di punta
Non eseguire il webbot tutti i giorni alla stessa ora
Non eseguire il webbot nei giorni festivi o nei weekend
Usare ritardi casuali tra un recupero e l’altro
Considerazioni finali
Capitolo 25 Scrivere webbot affidabili
Tipi di robustezza per i webbot
Adattarsi ai cambiamenti degli URL
Evitare di fare richieste di pagine inesistenti
Seguire le redirection di pagina
Mantenere l’accuratezza dei valori di refer
Adattarsi ai cambiamenti nel contenuto di una pagina
Evitare il parsing basato sulla posizione
Usare il parsing relativo
Cercare landmark che cambiano più difficilmente
Adattarsi ai cambiamenti dei form
Adattarsi ai cambiamenti nella gestione dei cookie
Adattarsi alle interruzioni e alle congestioni di rete
Error Handler
Capitolo 26 Progettare siti web webbot-friendly
Ottimizzare le pagine web per gli spider dei motori di ricerca
Link ben definiti
Googlebombing e Spamdexing
Tag title
Tag meta
Tag di header
Attributo alt dei tag delle immagini
Tecniche di progettazione web che ostacolano gli spider dei motori di ricerca
JavaScript
Contenuto non ASCII
Progettare interfacce di soli dati
XML
Scambio di dati in maniera “leggera”
Come non progettare un’interfaccia leggera
Un metodo più sicuro per passare le variabili ai webbot
SOAP
Vantaggi di SOAP
Svantaggi di SOAP
Capitolo 27 Bloccare gli spider
Chiedere gentilmente
Stabilire termini e condizioni di servizio
Usare il file robots.text
Usare i tag meta per i robot
Ostacolare i webbot
Permettere accessi selettivi a specifici web agent
Usare l’offuscamento
Usare cookie, crittografia, JavaSxcript e redirection
Autenticare gli utenti
Aggiornare frequentemente il sito
Inserire il testo in altri formati
Impostare delle trappole
Creare una trappola per spider
Cose divertenti da fare con gli spider indesiderati
Considerazioni finali
Capitolo 28 Tenere i webbot lontani dai guai
E’ solo una questione di rispetto
Il copyright
Consultare risorse appropriate
Non agire da azzeccagarbugli
IL copyright non deve essere necessariamente registrato
Presumere che “Tutti i diritti sono riservati”
Non si può avere il copyright di un dato di fatto
Si può proteggere con il copyright un insieme di fatti se sono presentati in maniera creativa
Usare alcuni materiali sotto le leggi dell’uso legittimo
Violazione di proprietà privata
Diritto Internet
Considerazioni finali
Appendice A Riferimenti PHP/CURL
Creare una sessione minima di PHP/CURL
Iniziare una sessione PHP/CURL
Impostare le opzioni PHP/CURL
CURLOPT_URL
CURLOPT_RETURNTRANSFER
CURLOPT_REFERER
CURLOPT_FOLLOWLOCATION
e CURLOPT_MAXREDIRS
CURLOPT_USERAGENT
CURLOPT_NOBODY e CURLOPT_HEADER
CURLOPT_TIMEOUT
CURLOPT_COOKIEFILE e CURLOPT_COOKIEJAR
CURLOPT_HTTPHEADER
CURLOPT_SSL_VERIFYPEER
CURLOPT_USERPWD e CURLOPT_UNRESTRICTED_AUTH
CURLOPT_POST e CURLOPT_POSTFIELDS
CURLOPT_VERBOSE
CURLOPT_PORT
Eseguire il comando PHP/CURL
Recuperare le informazioni sulla sessione PHP/CURL
Visualizzare gli errori PHP/CURL
Chiudere una sessione PHP/CURL
Appendice B Codici di stato
Codici HTTP
Codici NNTP
Appendice C Indirizzi e-mail SMS
Indice analitico
|
|
|
|