Buona domanda. Questo è in realtà un argomento attivo nella community di ricerca WWW
. La tecnica in questione è chiamato Re-crawl strategia o aggiornamento pagina politica.
Per quanto ne so ci sono tre diversi fattori che sono stati considerati nella letteratura:
- Cambio frequenza (come aver visto spesso il contenuto di una pagina web viene aggiornata)
- [1]: Formalizzato la nozione di "freschezza" dei dati e utilizzare uno
poisson process
per modellare il cambiamento delle pagine web.
- [2]: Frequenza stimatore
- [3]: più compatta della pianificazione
- Rilevanza (quanta influenza il contenuto della pagina aggiornata ha sui risultati della ricerca)
- [4] : Massimizza la qualità dell'esperienza utente per coloro che interrogano il motore di ricerca
- [5]: Determina le frequenze di scansione (quasi) ottimali
- Informazioni longevità (le vite di frammenti contenuti che appaiono e scompaiono da pagine web nel tempo, che si manifesta non fortemente correlato con la frequenza del cambiamento)
- [6]: distinguere tra effimero e persistenti contenuti
Si potrebbe decidere quale fattore è più importante per l'applicazione e gli utenti. Quindi è possibile controllare il riferimento sottostante per maggiori dettagli.
Edit: discuto brevemente lo stimatore di frequenza di cui al [2] per iniziare. Sulla base di questo, dovresti essere in grado di capire cosa potrebbe esserti utile negli altri documenti. :)
Seguire l'ordine che ho indicato di seguito per leggere questo documento. Non dovrebbe essere troppo difficile da capire fino a quando si sa una certa probabilità e statistiche 101 (forse molto meno se si prende la formula stimatore):
Fase 1. Aprire le Sezione 6.4 - Applicazione ad un Web crawler. Qui Cho ha elencato 3 approcci per stimare la frequenza di cambiamento della pagina web.
- Politica uniforme: un crawler rivisita tutte le pagine alla frequenza di una volta alla settimana.
- Politica inganno: nelle prime 5 visite, un crawler visita ciascuna pagina alla frequenza di una volta alla settimana. Dopo le 5 visite, il crawler stima le frequenze di cambio delle pagine utilizzando lo stimatore naive (Sezione 4.1)
- La nostra politica: Il crawler utilizza lo stimatore proposto (Sezione 4.2) per stimare la frequenza dei cambiamenti.
Passaggio 2. La politica ingenua. Si prega di andare alla sezione 4. Potrete leggere:
Intuitivamente, possiamo utilizzare X/T
(X
: il numero di modifiche rilevate, T
: periodo di monitoraggio) come la frequenza stimata di cambiamento.
La sezione di sottosezione 4.1 appena dimostrato questa stima è polarizzata 7, in consistente 8 e efficiente 9.
Passaggio 3. Lo stimatore migliorato. Vai alla sezione 4.2. Il nuovo stimatore si presenta come di seguito:
dove \bar X
è n - X
(il numero di accessi che l'elemento non cambia) e n
è il numero di accessi. Quindi basta prendere questa formula e stimare la frequenza del cambiamento. Non è necessario comprendere la prova nel resto della sottosezione.
Passo 4. Ci sono alcuni trucchi e tecniche utili discussi nella Sezione 4.3 e Sezione 5 che potrebbero essere utili a voi. La sezione 4.3 ha discusso su come gestire gli intervalli irregolari. La Sezione 5 ha risolto la domanda: quando è disponibile la data di ultima modifica di un elemento, come possiamo utilizzarlo per stimare la frequenza di cambiamento? Lo stimatore proposto con data dell'ultimo modifica è mostrato sotto:
La spiegazione all'algoritmo sopra dopo Fig.10 nel documento è molto chiaro.
Fase 5. Ora, se avete interesse, è possibile dare un'occhiata al sistema di sperimentazione ed i risultati nella sezione 6.
Quindi il gioco è fatto. Se ti senti più sicuro ora, vai avanti e prova la carta freschezza in [1].
Riferimenti
[1] http://oak.cs.ucla.edu/~cho/papers/cho-tods03.pdf
[2] http://oak.cs.ucla.edu/~cho/papers/cho-freq.pdf
[3] http://hal.inria.fr/docs/00/07/33/72/PDF/RR-3317.pdf
[4] http://wwwconference.org/proceedings/www2005/docs/p401.pdf
[5] http://www.columbia.edu/~js1353/pubs/wolf-www02.pdf
[6] http://infolab.stanford.edu/~olston/publications/www08.pdf
Grazie. Permettetemi di chiedere qualcosa di più specifico però - che dire nel caso di scansione di varie directory? Ad esempio, una pagina che ha una directory di persone che sono ricercabili, ma può essere sfogliata in ordine alfabetico senza filtri? O una pagina che raccoglie articoli e li pubblica nell'ordine della data di pubblicazione online? Come si potrebbe rilevare che è stata immessa una nuova voce, ad esempio, a pagina 34. Dovrei eseguire nuovamente la scansione di tutte le pagine disponibili? – Swader
Le pagine di elenco avrebbero ovviamente nuove intestazioni ETag (ma non necessariamente nuove intestazioni di Las-Modified). Nella maggior parte dei casi è necessario eseguire nuovamente la scansione delle pagine dell'elenco. Tuttavia, quando si seguono anche i collegamenti alle singole pagine dell'articolo, è necessario solo eseguire la scansione dei nuovi post. – simonmenke
Etag/Last-Modified non sono fonti affidabili per la modifica della pagina appositamente per contenuti generati dinamicamente. In molti casi queste variabili vengono generate dall'interprete del linguaggio in modo impreciso. – AMIB