Re: Re: Faccio progressi.......
Premessa: questo post sarà mooolto lungo (e penso anche un po' complicato), quindi inizio con l'esporre la mia soluzione in breve per poi ritornarci a più riprese. Così chi si annoia può interrompere la lettura avendo comunque una vaga idea di ciò che ho fatto.
SOLUZIONE
1) Ho fatto una ricerca separata per ogni zona individuata da PP.
2) La mia chiave di ricerca è stata "cucina tinello soggiorno salone camera camere bagno bagni"
3) Ho ripetuto ogni ricerca su intervalli di prezzo determinati dinamicamente per non infrangere il limite dei 110 annunci per ricerca.
FINE SOLUZIONE
COMMENTO AL PUNTO 1)
Questo commento è facile: ognuno di noi è interessato ad alcune zone piuttosto che ad altre, non aveva senso accorpare tutti gli annunci (cosa che si può tranquillamente fare in seguito) e perdere un'informazione preziosa.
COMMENTO AL PUNTO 2)
Qui le cose si complicano leggermente.
Ho osservato un po' il comportamento del sito per query diverse ed effettivamente si comporta in maniera buffa e non sempre chiara (vedi messaggi di
Rever e
davverorealista del 8-9/8/2008) ma ritengo che le loro osservazioni stessero portando su una via non del tutto corretta.
Mi spiego meglio: il problema con la chiave di ricerca è di pescare tutti gli annunci ma poi rimane il problema della barriera dei 110 dovuti al limite dell'offset (
davverorealista 8/8/2008 15.36).
Ora generare tutte le ntuple di tre caratteri o simili (
davverorealista 9/8/2008 15.03), da un lato non risolve il "problema 110", dall'altro sicuramente genera fastidiosi doppioni perché un annuncio può ben essere in più ricerche.
Inoltre dato il comportamento oggettivamente strano del motore di ricerca di PP, sarebbe meglio tenere le query il più semplici possibile.
La mia scelta si basa sull'assunzione che quando ci sono più parole nella query vengono comunque selzionati tutti gli annunci che ne contengono almeno una, a prescindere da quante poi ne saranno evidenziate nel testo in grassetto (sempre
davverorealista 9/8/2008 15.03).
Così mi sembra difficile (ma non impossibile, se qualcuno ne trova uno me lo segnali che aggiorno la query) che esista un annuncio che non contenga
neanche una delle 8 parole da me scelte.
Rimane il "problema 110" ma di questo parlo nel......
COMMENTO AL PUNTO 3)
Mettetevi comodi.....
Andate sul sito di PP nella sezione immobiliare di roma.
Fate una ricerca qualsiasi che generi più di 11 risultati.
Andate sulla seconda pagina della ricerca (offset 11) cliccando sul numero 2 in fondo alla prima pagina.
Osservate la URL con attenzione.........
sono comparsi due parametri nuovi
prezzomin e
prezzomax !!!!!!! (questo assieme al fatto che, se nella ricerca avevate selezionato il numero di stanze, nel passaggio dalla pagina 1 alle 2 il parametro "stanze" si è misteriosamente vaporizzato la dice lunga su quanto sia fatto bene il sito di PP)
Ecco come mi sono arrangiato per risolvere il "problema 110":
basta definire intervalli contigui di prezzo ciascuno dei quali contenga non più di 110 annunci.
Ipotizziamo di volre cercare tutti gli immobili tra 0 e 10.000.000
Il mio programma, per prima cosa, divide in due l'intervallo e fa una ricerca tra 5.000.000 e 10.000.000 con offset 99.
Poi conta gli annunci su quella pagina, se sono meno di 11 c'è la garanzia che nell'intervallo ci siano meno di 110 annunci e quindi scarica nell'ordine tutte le pagine dall'offset 00 finché ne trova.
Se invece sono 11 divide in due l'intervallo e riparte da 7.500.000 a 10.000.000 e così via finché non trova un intervallo con meno di 110 annunci (supponiamo che 7.500.000-10.000.000 vada bene).
Fatto questo si riparte da 0 a 7.500.000 (diviso in due da 3.750.000 a 7.500.000) finché non si arriva all'intervallo 0-0.
Così ho la garanzia di aver scaricato tutti gli annunci tra 0 e 10.000.000.
In un successivo post indicherò altri dettagli tecnici meno fondamentali