frabMsgGet – scaricare una conversazione Facebook

Introduzione – Perchè scaricare una conversazione da Facebook?

Boh! A qualcuno può interessare avere una storia di tutto. Gli amanti dei ricordi, insomma, quelle cose lì che non andrò ad analizzare nel dettaglio. Nel mio caso, ho conosciuto una ragazza maniaca (in senso “buono”) e ho scoperto che dopo ogni nostra conversazione si salvava tutto su un blocco note. Però le mancava l’inizio, e scrollare con la rotellina su su su era una cosa impraticabile (dopo qualche mese il browser inizia a impazzire per gli eccessivi messaggi visualizzati). E le sarebbe piaciuto MOLTO avere tutta la nostra conversazione fin dall’inizio. E la cosa faceva incazzare pure me: perchè Facebook i messaggi LI HA DA QUALCHE PARTE. Ma non te li da facilmente. Che rabbia.

 

Un po’ di storia – Analisi dei vari metodi disponibili in rete.

Tentativo 1 – Facebook stesso offre un’opzione per scaricare tutti i contenuti: “Impostazioni account” -> “Generale” -> “Scarica una copia dei tuoi dati di Facebook.” questa funzione fa scaricare uno zip contenente TUTTO, messaggi compresi. Il file è uno zip, che contiene “messages.html”. Al suo interno possiamo in effetti vedere TUTTI i messaggi (sì ma TUTTI, non quelli con la persona desiderata). Anche guardando il sorgente HTML sembra che non ci sia nessun modo per poter ricreare la storia di una conversazione “a due”. E’ un calderone unico. Vergognoso, tentativo fallito.

Tentativo 2 – Script AutoIT che simula lo scroll della rotellina del mouse all’infinito – il browser si BLOCCA. Niente. Ok, era abbastanza stupida come prova.

Tentativo 3 – E se esistesse già un programma che fa questo lavoro? Ho trovato alcune estensioni per Firefox: Red1 – Facebook downloader 1.3 -> Sembra buono ma dopo un po’ si blocca – non ha nessun indicatore di avanzamento, semplicemente si…ferma. Senza errori – niente. Fail.
FB Chat History Manager 1.5 -> Sembra buono ma funziona solo per i messaggi DA ADESSO IN POI.
Non ho trovato nient’altro di buono in rete.

Tentativo 4 – Il buon MirkolofYo mi ha aiutato (hem, praticamente ha fatto lui il 99% del lavoro, dato che a me Javascript fa venir voglia di suicidarmi) a fare uno script da lanciare sulla console di Chrome che scarica il messaggio, lo nasconde, e fa il display sulla console. Il problema è che i messaggi rimanevano LI. Nella console. Per uscire l’unico modo era un XMLHttpRequest ad un PHP esterno che raccoglieva il tutto – e anche qui, fatica. Le policy di facebook bloccano le richieste a siti diversi da *.facebook.com. Problema risolto in modo quick and dirty: modifica del file degli hosts, in modo che il mio server rispondesse a myserver.facebook.com ;)
Il tutto era QUASI funzionante: dopo 27000 messaggi il browser inizia a dare segni di cedimento, qualcosa come 2 gb di ram utilizzati, e si blocca tutto. Fanculo. Devo tantissimo al suo lavoro, ma purtroppo non ha funzionato e non avevo intenzione di rompergli ulteriormente le palle – specialmente perchè ha i suoi cavoli di università.

Tentativo 5 – Guidato dalla rabbia mi studio le API di Facebook. Salta fuori che Facebook E’ COME UN DATABASE, interrogabile tramite delle “FQL” (Facebook Query Language). Da lì ad ottenere TUTTO, nel modo in cui VOGLIO IO, è solo questione di tempo. Ed ecco che query dopo query, test dopo test (utilissimo il tool Graph API Explorer messo a disposizione da Facebook) ho sviluppato frabMsgGet. Invece che tenerlo solo per i miei scopi – fare un regalo a quella ragazza maniaca di cui parlavo prima – ho deciso di condividerlo con l’internet. Sperando che a qualcuno serva.

 

frabMsgGet – il metodo GIUSTO.

Se volete provarlo è qui.
Le istruzioni sono in inglese ma facilmente comprensibili. Per eventuali problemi o commenti, per favore scrivete in quella pagina e non qui sotto.

Questa voce è stata pubblicata in frabmsgget, tech. Contrassegna il permalink.

9 risposte a frabMsgGet – scaricare una conversazione Facebook

  1. Jessica scrive:

    Ciao, cercavo questo programma da non so quanto tempo! Girovagando su face, finalmente ho trovato quello che cercavo! Vorrei sapere come si usa nei dettagli. Cosa devo fare? Mi servirebbe per scaricare una conversazione in particolare di più di 9000 messaggi.

  2. frab scrive:

    @Jessica: segui il link in fondo all’articolo, ti porterà su http://frab.eu/dev/frabmsgget/ . In quella pagina clicca login. Autorizza l’applicazione e apparirà la schermata principale con le istruzioni sulla destra. Se hai altri dubbi contattatami tramite About > Email

  3. Pingback: frabMsgGet v2 – the awesomeness still going on (well, maybe) | frab network

  4. Nik scrive:

    Buonasera, è possibile salvare l’intera conversazione (di circa un anno) con una persona che non abbiamo più tra gli amici o ci ha bloccato?

  5. Anonimo scrive:

    grazie mille!

  6. Frog73 scrive:

    Io sono un po’ maniaca… L’avevo gia utilizzato circa 2 anni fa ma stavo impazzendo perche’ non lo trovavo piu. E’ fantastico e ti ringrazio tanto :D

  7. Frog73 scrive:

    oh oh ho appena scoperto che ci sono alcuni problemi tecnici… attendiamo pazienti e fiduciosi :)

  8. Lory scrive:

    non si apre la pagina che hai indicato!!..come devo fare!!!..ne avevo estremo bisogno!!!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.