I migliori metodi per estrarre automaticamente notizie, ricette e altre informazioni dai siti web

Il web è una miniera di informazioni, il cui contenuto cresce a dismisura ogni giorno. Una necessità che ci troviamo ad avere frequentemente è quella di estrarre e salvare contenuti e dati. In passato ho trattato l’estrazione dei contenuti audio e video, ma esistono anche moltissimi contenuti testuali, come notizie, ricette o tabelle con dati numerici.

Inoltre è molto utile essere notificati quando il contenuto di un sito cambia, per esempio pubblicando un nuovo articolo o aggiungendo delle foto a una galleria. Tuttavia, non tutti i siti offrono dei feed RSS già pronti.

Vi avevo anticipato che avrei trattato questo argomento al Linux Day 2015 e finalmente è pronto il filmato del mio intervento. 🙂 Riporto qui la descrizione e il video del talk:

Il web è pieno di informazioni utili: non solo dati numerici, ma anche notizie, tutorial, ricette e gallerie di immagini. Tuttavia, spesso i siti web rendono complicato estrarre le informazioni che ci interessano per poi elaborarle o convertirle. Inoltre, a volte è utile tenere traccia degli aggiornamenti che vengono pubblicati su una certa pagina.

In questo talk vengono analizzati strumenti e tecniche per risolvere efficacemente questo problema tramite il web scraping.

Siamo stati costretti ad usare una telecamera di riserva, per problemi tecnici con quella principale. Per questo il video è di scarsa qualità, ma ci sono le slide in sovrimpressione che compaiono quando necessario, quindi è tutto leggibile.

Se volete, potete scaricare le slide in PDF dal sito del GrappaLUG, cliccando qui.

Le dirette Mediaset ora si possono vedere e registrare senza Silverlight, anche con Linux

Ho pubblicato la versione 6.0 del mio script per guardare e scaricare i video dal portale Video Mediaset. La novità più importante di questa versione è il supporto ai canali in diretta. 

Per via di come è stato fatto il sito, le dirette dei canali sono normalmente visibili solamente con Silverlight, oppure con Google Chrome (ma non Chromium) tramite Widevine. Il nuovo script indica, sotto al player, due flussi M3U8 che si possono guardare (o registrare) con VLC o avplay:

Rilevamento dei flussi per i canali in diretta
Rilevamento dei flussi per i canali in diretta

Un’altra novità è la migliore gestione delle richieste di login. Ora dovrebbe essere visualizzabile qualsiasi video o diretta senza che il sito costringa l’utente a iscriversi. Se così non fosse, segnalatemelo.

Colgo l’occasione per ringraziare Daniele Giudice che mi ha suggerito l’idea e con cui ho discusso alcuni dettagli tecnici. Vi consiglio di visitare il suo sito web, contiene anche un utile script per il download dei video da Dplay. 🙂

Se avete già installato lo script, l’aggiornamento dovrebbe installarsi in breve tempo. Se invece non lo avete, o siete impazienti, correte subito a installarlo dalla pagina di download. 😉

Convertire una presentazione in immagini, includendo le animazioni intermedie

Ieri ho iniziato il lavoro di montaggio video del mio intervento sull’estrazione di dati dalle pagine web. Come gli anni scorsi, anche quest’anno ho parlato utilizzando una presentazione Impress per accompagnare il discorso.

Dato che il video di me che gesticolo è di secondaria importanza, l’intento è mettere in risalto le slide. Per questo ho pensato di convertire tutte le slide in immagini per poi usarle in fase di montaggio. Le slide verranno mostrate a schermo pieno al posto del video, specialmente nei passaggi più importanti, mentre si sentirà la traccia audio per la mia voce.

In linea di principio, avrei potuto creare un PDF della presentazione e convertire quello in tante immagini, una per pagina. Tuttavia, in diverse slide ci sono alcuni punti che compaiono uno alla volta e questo viene perso durante la conversione in PDF.

Animazione del testo all'interno della stessa pagina
Animazione del testo all’interno della stessa pagina

Per questo motivo, ho deciso di seguire un approccio diverso:

  1. mostrare la prima slide
  2. catturare la schermata
  3. andare alla prossima slide
  4. ripetere il procedimento

Tutto questo in modo completamente automatico, ad eccezione dell’atto di terminare la procedura dopo l’ultima slide. Per ottenere il risultato desiderato, ho creato un brevissimo script in Python che utilizza il modulo pyautogui per automatizzare la pressione dei tasti, come suggerito qui. Un’altra funzionalità utile di questo modulo è la facoltà di catturare screenshot, così abbiamo tutto il necessario! 🙂

Prerequisiti

Il modulo pyautogui è sostanzialmente multipiattaforma, in quanto fa tutto il “duro lavoro” di adattamento per eseguire le stesse operazioni sui vari sistemi operativi, le quali normalmente richiederebbero modi diversi di essere compiute.

Tuttavia, è necessario installare anche alcuni componenti aggiuntivi per Linux che verranno utilizzati dal modulo per portare a termine ciò che ci serve. Pertanto, installiamo il modulo nel nostro profilo utente e i pacchetti necessari nel sistema con i comandi:

sudo apt-get install python-xlib python-tk python-pil
pip install --user pyautogui
sudo apt-get install scrot

Il primo pacchetto serve per la simulazione dei tasti e in generale il funzionamento base del modulo. Il secondo pacchetto sarebbe opzionale, ma per noi è necessario perché vogliamo anche che vengano catturati gli screenshot.

Catturare le schermate

A questo punto potete creare una nuova cartella screen con dentro uno script Python, chiamato ad esempio cattura.py. Il contenuto è questo:

#!/usr/bin/env python

import pyautogui
import time

# Attesa iniziale
time.sleep(10)

numero = 1

# Premere Ctrl+C alla fine della presentazione
while True:
    im = pyautogui.screenshot()
    im.save('screen_%03i.png' % numero)
    pyautogui.press('right')
    # Attesa transizione/animazione
    time.sleep(3)
    numero += 1

L’idea di base è semplice. Quando lo script parte, sta fermo per 10 secondi, così potete cambiare finestra e avviare la presentazione con LibreOffice (oppure Calligra Suite). Passato questo tempo, inizia la cattura delle schermate con il nome screen_001.png.

Tra una schermata e l’altra c’è una pausa di 3 secondi, in modo da far finire eventuali effetti di transizione (ad esempio le dissolvenze). Avviate lo script con il terminale, cambiando directory e lanciando il file Python appena creato:

cd /percorso/di/slide/cattura.py
python cattura.py

Poi avviate subito la presentazione e attendete senza toccare nulla. 😉 In poco tempo inizierete a vedere il computer che “va da solo” cambiando slide e attivando le animazioni fino all’ultima pagina.

Vi ricordo che, al posto di digitare tutto il percorso della directory che contiene lo script, potete fare drag’n’drop dell’icona della cartella slide dentro al terminale, dopo aver digitato il comando cd seguito da uno spazio. 😉

Quando la presentazione arriva alla fine, tenete conto che lo script continuerà a premere freccia destra ogni 3 secondi, catturando screenshot. Perciò riaprite il terminale ridotto ad icona e premete i tasti Ctrl+C per terminare il ciclo infinito.

Troverete le schermate (in formato PNG) nella cartella precedentemente creata.

Schermate ottenute con il procedimento descritto
Schermate ottenute con il procedimento descritto

Ritocchi finali

È probabile che, alla fine delle schermate ottenute, ci sia qualche file in più che mostra il vostro desktop dopo aver finito la presentazione ma prima di aver terminato lo script. In questo caso, è sufficiente cancellare le immagini di troppo. 😉

Nel mio caso, ho notato che la funzione di presentazione di LibreOffice lasciava un leggero margine nero in basso e a destra:

Margine nero lasciato da LibreOffice
Margine nero lasciato da LibreOffice

Il margine, misurato con GIMP, risultava di 1 pixel in basso e 2 pixel a destra. Per correggere questo problema ho usato ImageMagick. Il comando, che modifica direttamente le immagini originali, è questo:

mogrify -crop -2-1 screen_*.png

Attenzione che ciò crea delle copie di backup nascoste nella stessa cartella, ad esempio il file screen_001.png verrà copiato con il nome di screen_001.png~ e solo in seguito modificato. Se usate una cartella solo per le slide e poi la eliminate tutta, anche le copie nascoste saranno ripulite. In caso contrario, fate attenzione a non lasciare tracce inutili. 🙂

Il mio intervento al Linux Day — Sabato 24 Ottobre 2015

evento LD 2015

Come di consueto, anche quest’anno collaborerò con il GrappaLUG alla realizzazione del Linux Day 2015 a Bassano del Grappa (VI).

Avete mai sentito parlare di data scraping? Se vi ricorda un po’ il suono del ghiaccio quando viene grattato via dal frigorifero, una mezza idea già ce l’avete… 😛

In pratica si tratta degli strumenti e delle strategie che si usano per estrapolare informazioni dalle pagine web. Pensate ad esempio al mio script per scaricare i video da Rai Replay, oppure Video Mediaset o La7.

Ma non è tutto, perché la tematica è molto più generale. Potete immaginare di avere un sito dove sono inserite delle ricette che volete estrarre e stampare, oppure a delle tabelle con dei numeri di telefono.

Se vi ponete delle domande come queste:

  • Come faccio a salvare velocemente le 45 foto di questo album online?
  • In che modo posso estrarre le tabelle di questo PDF?
  • Come creo un avviso che mi mandi un’email ogni volta che viene pubblicata una notizia su questo sito?

…allora siete interessati al data scraping.

Estrarre notizie, ricette e altre informazioni dai siti web
Ore 17.00–17.40 — Relatore Andrea Lazzarotto

Il tempo a disposizione sarà un po’ limitato (40 minuti) perciò mi concentrerò su qualche esempio essenziale, probabilmente saltando cose troppo difficili. 🙂

In ogni caso penso che ne verrà fuori un talk interessante. Tenete conto che quest’anno si sta valutando se riusciremo a filmare gli interventi oppure no… potrebbe anche non esserci un video disponibile online. Meglio venire di persona! 😉

Infine, come spiegato nella pagina ufficiale dell’evento:

L’ingresso è libero, tuttavia i posti a sedere sono limitati. Pertanto consigliamo la prenotazione facoltativa tramite Eventbrite:

Prenota ora!

Vi consiglio pertanto di prenotare il vostro “biglietto” gratuitamente se desiderate partecipare. Nel caso i posti riservati finissero non preoccupatevi, potrete comunque accedere al Linux Day, la prenotazione serve solo per i posti a sedere.

Ovviamente ci saranno anche altri talk e sono tutti gustosi, perciò vi suggerisco di andare a leggere il programma completo.

Vi aspetto a Bassano! 😀

Sorgente: Linux day 2015 | GrappaLUG

Sbloccare i siti di streaming legale senza VPN con UnoTelly

Mi è stato proposto di provare UnoTelly, un servizio di SmartDNS e VPN commerciale. In particolare, questo articolo riporta la mia opinione obiettiva e imparziale sui due servizi. Mi sono focalizzato soprattutto sul servizio UnoDNS e un po’ meno su UnoVPN.

Accesso senza VPN con UnoDNS

UnoDNS è un servizio che permette di accedere ai siti web bypassando le restrizioni geografiche. Permette quindi di collegarsi a dei siti web di streaming legale specialmente in lingua inglese: Hulu, BBC iPlayer, CBS, e molti altri. A questi si aggiungono i siti di varie emittenti di varie nazioni, come ad esempio Italia, Francia, Germania, Danimarca, eccetera.

Essendo basato sugli SmartDNS, il servizio consente di sbloccare contemporaneamente tutti i siti supportati, indipendentemente dal paese per cui sono abilitati. I server DNS di UnoTelly si occupano di farci apparire come navigatori del paese più adeguato il minimo indispensabile per accedere al sito, mentre il resto del traffico non viene dirottato.

Hulu_UnoTelly
Accesso immediato ad Hulu.com tramite UnoDNS

Questo tipo di scelta ha due vantaggi rispetto alle “classiche” VPN. Il primo riguarda la velocità di navigazione: i servizi VPN non sempre sono efficienti e possono rallentare la velocità. Questo è un problema specialmente per i video. L’altro vantaggio riguarda il supporto a diversi dispositivi: qualsiasi apparecchio collegato a Internet consente di impostare dei server DNS, quindi non è necessario che supporti le VPN.

Impostando i DNS nel router, inoltre, si attivano automaticamente tutti i dispositivi della rete di casa. Questo significa sbloccare computer, smartphone, tablet, console, set-top box con Android e molto altro.

Una funzione particolare di UnoDNS è chiamata Dynamo: permette di scegliere quale nazione preferire per alcuni servizi. Un esempio molto conosciuto è Netflix, che è disponibile (con programmi diversi) in diverse nazioni. Dato che Netflix consente ai clienti di viaggiare usando lo stesso account, è possibile abbonarsi a Netflix con account USA e poi impostare Dynamo per sbloccare i programmi nel Regno Unito, cambiando la scelta ogni volta lo si desideri.

La mia valutazione

Ho provato UnoDNS con diversi siti. L’attivazione è molto semplice e il sito di UnoTelly contiene un wizard che spiega i semplici passi da eseguire. Si tratta solo di attivare i DNS e, se si ha un IP dinamico, periodicamente è necessario premere il pulsante Update IP sul sito di UnoTelly. È possibile anche configurare l’aggiornamento automatico dell’IP.

Ho verificato il perfetto funzionamento del servizio su Hulu, BBC iPlayer e CBS.

Poi ho testato un canale francese, France 3, e il risultato non è stato ugualmente soddisfacente. Il servizio infatti non è riuscito a consentire l’accesso, anche se il canale risulta tra gli oltre 350 siti supportati:

Errore di accesso sul sito di France 3
Errore di accesso sul sito di France 3

Va detto, per correttezza, che il sito contiene una sezione dedicata alla richiesta di aggiunta di nuovi canali e sicuramente è possibile segnalare questo tipo di problemi.

Complessivamente ho avuto comunque un’impressione molto positiva, specialmente per le caratteristiche del servizio DNS (velocità e compatibilità) e l’opzione Dynamo. Pertanto, considerando diversi fattori, si ottiene questo risultato:

  • Facilità d’uso: 9/10
  • Velocità: 10/10
  • Compatibilità con i dispositivi: 10/10
  • Supporto ai canali: 8/10
  • Totale: 9/10

Navigazione protetta con UnoVPN

UnoTelly propone anche un piano comprensivo sia di UnoDNS che di accesso VPN, ovviamente a un prezzo più alto. Le località VPN consentite sono: Stati Uniti, Regno Unito, Paesi Bassi, Canada e Germania.

Come ho già scritto in passato, le VPN sono un modo ormai “classico” e funzionale per accedere a siti web con restrizioni geografiche. Nella pratica, ci si collega a un server posizionato in un determinato paese e tutto il traffico web viene dirottato lì, “uscendo” su Internet con un indirizzo IP situato nella nazione in cui si trova il server.

Oltre al fatto di essere dirottato, il traffico viene anche criptato, diventando illeggibile a chi si trova tra il nostro computer e il server della VPN. Questo è leggermente meno comodo per vedere video su siti di diversi paesi, in quanto bisogna connettersi alla VPN giusta di volta in volta. Tuttavia ha un grande vantaggio in termini di privacy.

Con una buona VPN, è possibile navigare tranquillamente senza temere intercettazioni illegali o registrazioni del traffico da parte di malintenzionati o governi oppressivi. Questo vale anche in luoghi con un livello di sicurezza bassissimo, per esempio quando si usa il Wi-Fi gratuito all’interno di un locale pubblico.

Quando si sceglie un provider VPN, specialmente per questioni di privacy, è importante verificare quale sia la policy riguardo ai log (registrazioni) del traffico effettuato e la giurisdizione in cui si trova. Per motivi che sono noti a tutti, andrebbero evitati i provider basati negli Stati Uniti. UnoTelly è fornito da Unovation Inc., un’azienda che si trova in Canada e ha una privacy policy abbastanza buona.

Bisogna considerare anche i protocolli offerti. Le informazioni fornite su UnoVPN consigliano agli utenti di usare PPTP. Se lo scopo è avere più velocità per i video può anche andare, ma se l’obiettivo è la privacy non ci siamo. Molto meglio OpenVPN, il quale viene offerto ma in modalità “sperimentale”:

If our regular PPTP VPN works for you, please continue to use that instead. OpenVPN is still in BETA and we are still ironing out the wrinkles. PPTP VPN is also generally faster than OpenVPN.

La mia valutazione

A prima vista, ero convinto che anche il servizio UnoVPN fosse orientato a sbloccare l’accesso dei video online. Purtroppo però mi sono dovuto ricredere. Usando il server USA non sono riuscito a sbloccare neppure Hulu:

Malfunzionamento di Hulu con la VPN statunitense
Malfunzionamento di Hulu con la VPN statunitense

Per il resto, UnoVPN si comporta come molte altre VPN, senza meriti speciali. Ovviamente i fattori da considerare sono un po’ diversi rispetto ai DNS, e il risultato è:

  • Facilità d’uso: 8/10
  • Protocolli supportati: 4/10
  • Supporto canali e nazioni: 2/10
  • Giurisdizione canadese: 7/10
  • Totale: 5/10

Conclusione

I servizi di SmartDNS sono un valido strumento per accedere ai servizi di streaming legale, indipendentemente dalla nazione di provenienza. UnoDNS è un’ottima scelta sia per la facilità d’uso che per l’interessante funzione Dynamo. Ci sono problemi con qualche canale ma sono convinto che siano risolvibili.

Dato che i prezzi variano col tempo, non ho voluto entrare nei dettagli ma vi rimando al sito ufficiale. I piani di breve durata sono un pochino più costosi, mentre quelli annuali sono più convenienti. Ritengo comunque che sia un servizio assolutamente adeguato per chi ama film e serie TV e fa un uso intenso e regolare di questi siti.

Per gli utenti che hanno esigenze ridotte e poco frequenti, è possibile cavarsela anche con opzioni gratuite, come VPNGate, con le limitazioni del caso. In particolare la maggiore difficoltà ad attivare dispositivi “da salotto” come set-top box e smart TV.

Riguardo a UnoVPN, non ritengo che sia un servizio particolarmente utile per sbloccare i siti web che sono già attivati senza sforzo da UnoDNS. Come strumento per proteggere la privacy nelle reti poco sicure lo reputo sufficiente, senza troppi fronzoli. Ci sono comunque altri servizi che offrono un numero maggiore di nazioni.

Estrarre la rubrica da un BlackBerry con software danneggiato

Un’amica mi ha sottoposto un dispositivo BlackBerry 9780 per un’analisi. Lo scopo era quello di recuperare il contenuto integrale della rubrica contatti, in quanto il software di sistema era pesantemente danneggiato e il dispositivo faticava ad accendersi. Dopo alcuni minuti di inattività, crashava improvvisamente con un messaggio di tipo App Error.

La prima cosa da fare, in questo caso, è rimuovere la batteria e reinserirla, per effettuare un reset. Dopo diversi tentativi in cui il dispositivo sembrava bloccato all’avvio, ho verificato che effettivamente il sistema si avviava, mettendoci però 11 minuti. Alla fine del caricamento, comparivano numerosi messaggi di errore relativi al software basato su Java.

Schermata di caricamento ed errori del software
Schermata di caricamento ed errori del software

In questi casi è possibile premere ripetutamente OK per raggiungere il menu del telefono. Dopo aver effettuato questa operazione, sono iniziate le difficoltà reali:

  • la rubrica mostrava la lista dei contatti (nomi) ma non era possibile aprirli per visualizzare i numeri
  • le impostazioni di sistema non erano accessibili e facevano crashare il dispositivo
  • non si riusciva ad effettuare un accoppiamento via bluetooth
  • il programma BlackBerry Desktop Manager, oltre a essere solo per Windows o Mac, non riusciva a connettersi al dispositivo

Il fatto di non poter aprire le impostazioni di sistema significava non potersi collegare al Wi-Fi per tentare di esportare i contatti tramite qualche app. I problemi col bluetooth lasciavano il collegamento USB come unica speranza.

Il mio piano infatti era quello di effettuare un backup con il software ufficiale di BlackBerry e poi esportare la rubrica. Dopotutto è possibile usare Windows in macchina virtuale (come quelle fornite da Microsoft sul sito Modern.ie) oppure creare una USB avviabile tramite le varie Release Candidate per sviluppatori. Peccato solo per l’errore nefasto restituito da BlackBerry Desktop Manager per Windows:

BlackBerry® Desktop Manager non è in grado di comunicare con il dispositivo BlackBerry connesso. Se il dispositivo si sta riavviando oppure la batteria è completamente scarica, fare clic su Riprova per tentare di ristabilire la connessione una volta completato il riavvio. In caso contrario, per risolvere il problema potrebbe essere necessario aggiornare BlackBerry® Device Software.

Come spesso accade, mi sono reso poi conto che Linux poteva venire in aiuto e salvare la situazione. Per evitare di installare troppo software sul mio portatile, ho creato una chiavetta USB avviabile con Xubuntu 14.10, assicurandomi di attivare la persistenza per poter salvare i dati recuperati. Ad ogni modo, qualsiasi distribuzione dovrebbe andare bene.

Per evitare problemi, ho effettuato nuovamente il reset del BlackBerry. Nel frattempo ho fatto partire Xubuntu. Una volta avviato il sistema, ho installato Barry, un software open source per gestire i dispositivi BlackBerry:

sudo apt-get install barrydesktop

Ho collegato il BlackBerry col cavo USB e ho avviato il programma con i permessi di amministratore, per evitare errori di accesso negato:

sudo barrydesktop

Barry ha individuato il dispositivo senza batter ciglio e mi ha chiesto di dargli un nome. Ho cliccato su Config… e poi sul primo tasto Configure… (quello relativo al backup) per selezionare tutti i campi disponibili. In realtà era di fondamentale importanza recuperare soltanto la rubrica, ma ero curioso di vedere quanto si potesse effettivamente estrarre.

Selezione degli elementi da estrarre
Selezione degli elementi da estrarre

Dopo aver salvato le mie scelte, ho dovuto solo premere il tasto Backup nella finestra principale:

Barry durante l'operazione di backup
Barry durante l’operazione di backup

Il processo si è interrotto “brutalmente” al 42%, probabilmente a causa degli errori software. Barry ha mostrato un messaggio di errore indicando quali campi non erano stati estratti. Ha quindi provveduto a salvare quello che era stato recuperato, incluso il contenuto integrale della rubrica. Il BlackBerry è poi crashato nuovamente.

Dato che il processo era stato avviato come amministratore, è stato necessario copiare i file dalla cartella dei backup alla home dell’utente che stavo utilizzando:

sudo cp /root/.barry/backup ~
sudo chmod a+r ~/backup

L’obiettivo finale era esportare i contatti in un formato “universale” che si potesse agevolmente aprire e magari importare su Gmail. Dato che Barry effettua il backup in un formato proprietario, ho utilizzato un comodo script chiamato BlackBerry-Address-Book-to-CSV.

È sufficiente scaricare il file ZIP, estrarlo ed eseguirlo sul file di backup. Si tratta solo di dare pochi comandi:

wget https://github.com/mintern/BlackBerry-Address-Book-to-CSV/archive/master.zip
unzip master.zip
cd BlackBerry-Address-Book-to-CSV-master
./bbab2csv ~/backup/[PIN]/[NOME].tar.gz

Al posto di [PIN] e [NOME] vanno inseriti il PIN del dispositivo e il nome dell’archivio creato da Barry, che varia di volta in volta. L’output in formato CSV viene mostrato nel terminale, se volete salvarlo su un file potete ripetere l’ultimo comando ridirezionando l’output:

./bbab2csv ~/backup/[PIN]/[NOME].tar.gz > ~/contatti_BB.csv

Il file risultante si trova nella home e si può aprire tranquillamente con LibreOffice oppure importare in un account Gmail, per sincronizzarlo con un dispositivo Android. Ovviamente va salvato in un posto sicuro, specialmente se si sta usando Linux su una live USB.

Il procedimento di recupero con Linux, alla fine, è stato molto veloce. La maggior parte del tempo è stata persa nei vari riavvii del dispositivo e tentando di far funzionare il software ufficiale di BlackBerry, che non è stato di alcun aiuto per estrarre i dati.

Tuttavia, BlackBerry Desktop Manager si è rivelato utile perlomeno per far tornare funzionante il telefono. Una volta collegato il cavo USB e ricevuto il messaggio di errore, ho cliccato su Aggiorna. Alla proposta di fare un backup ho risposto di no (altrimenti si sarebbe bloccato di nuovo) e ho confermato di voler formattare il dispositivo.

Alla fine del processo, il BlackBerry era perfettamente funzionante e tristemente vuoto. Avviando di nuovo Linux, con Barry ho potuto ripristinare la rubrica di cui era stato fatto il backup in precedenza.

La morale che si può trarre da questa esperienza è che da un BlackBerry con software danneggiato a volte si possono recuperare dei dati. Inoltre, non sempre l’applicazione ufficiale è la scelta migliore. Anzi, Barry consente di accedere almeno a una parte delle informazioni in casi in cui BlackBerry Desktop Manager non è in grado di collegarsi al dispositivo, con l’ulteriore vantaggio di non essere costretti a usare Windows.

Inserire link ad altre note in Evernote Web

A mio parere, Evernote è un ottimo strumento per prendere note e ritagliare pagine web. Eppure ha una grave mancanza: sebbene esista il client ufficiale per due discutibili sistemi operativi proprietari (Windows e Mac OS X), non c’è quello per Linux. Tuttavia, è possibile usare il servizio tramite Evernote Web direttamente nel browser.

Ciò ha alcuni vantaggi. Innanzitutto, è disponibile tramite qualsiasi PC collegato a Internet. In secondo luogo, è possibile andare a modificare direttamente il codice HTML per le note, utilizzando il mio script.

Una funzione importante che ufficialmente manca in Evernote Web è la possibilità di generare i collegamenti in-app alle note. Questo tipo di link consente di creare collegamenti ipertestuali che fanno “saltare” direttamente da una nota all’altra e sono compatibili con tutte le versioni di Evernote (incluso Evernote Web e i client per dispositivi mobili).

Tali link, inoltre, mostrano una comoda anteprima nell’interfaccia web, quando ci si passa il mouse sopra. Sul blog ufficiale del servizio c’è un ottimo articolo su alcuni utilizzi interessanti di questa funzione. Inoltre, potete vedere questo video per maggiori informazioni:

Avendo la necessità di usare questa funzionalità, ho deciso di creare uno script per il browser che fornisca in automatico l’indirizzo in-app della nota corrente. Il link rispetta le specifiche fornite dalla documentazione di Evernote (che in realtà contiene un errore) e usa il protocollo evernote://. La figura mostra un esempio con una nota in cui sto scrivendo proprio questo post:

Collegamento in-app generato dallo script
Collegamento in-app generato dallo script

Il link può essere copiato col tasto destro del mouse e inserito in alte note usando il solito pulsante a forma di catena nell’interfaccia di Evernote Web. Come sempre, prima di installare lo script dovete procurarvi l’estensione corretta per il vostro browser:

Dopodiché potete scaricare lo script su GreasyFork cliccando questo bottone:

Download — Evernote Web in-app note link

Spero che vi possa essere utile. 🙂 Sono sempre interessato a nuovi modi per essere più organizzato e produttivo usando Evernote. Avete qualche trucco personale che volete condividere? Fatemi sapere nei commenti!

Chiusura del servizio di download dei video da Rai.TV e Rai Replay

Ho iniziato il mio lavoro sul sito Rai nel 2010, con lo scopo di mettere a disposizione il mio aiuto a tutti coloro che desiderassero registrare i video del portale Rai on-demand e, dopo altri due anni, anche Rai Replay.

Lo sviluppo di questo software per me è stata sempre un’attività hobbistica, dandomi molte soddisfazioni personali. Dopo 5 anni di lavoro, si tratta senza dubbio del mio user-script più scaricato, contando oltre 35000 download.

Oggi è un giorno importante, in quanto la mia attività si trasforma in un impegno professionale. Sono infatti entrato a far parte del team di Rai — Direzione Web, con il ruolo di consulente video. Rai acquisirà integralmente lo script da me sviluppato e la piattaforma server che veniva utilizzata per fornire i link diretti ai video. Io continuerò a lavorare mettendo a disposizione la mia competenza per la prevenzione dei download.

Stiamo infatti sviluppando un nuovo sistema che consentirà a Rai di avere un maggior controllo sull’accesso ai contenuti. Il software di protezione prenderà il nome di Rai Charles e servirà a impedire la visione dei filmati a chi tenterà di accedere con modalità non previste dall’azienda.

Logo del nuovo servizio di protezione per i siti delle reti Rai
Logo del nuovo servizio di protezione per i siti delle reti Rai

Sono entusiasta di partecipare in questa nuova avventura e non vedo l’ora di sviluppare a pieno questa nuova tecnologia. L’interruzione del servizio avverrà nel giro di pochi giorni.

Se siete utenti dello script, vi consiglio di leggere l’annuncio ufficiale sul sito Rai. Lì potete trovare una spiegazione dettagliata sul funzionamento del nuovo sistema di protezione. Inoltre è prevista una sezione commenti per porre domande in merito.

Con affetto,
Andrea

Modificare l’HTML delle note in Evernote Web

Evernote è un ottimo servizio dove poter memorizzare note, appunti, scansioni, file allegati e ritagli di pagine web. È qualcosa di molto più versatile di un semplice insieme di note testuali, avendo funzioni di ricerca e organizzazione ottime. Ne avevo già parlato anche in un articolo dedicato alle applicazioni per studenti:

Non è solo un sito web dove poter scrivere note, ma include anche il software client per Windows e Mac (su Linux io uso l’interfaccia web e mi trovo bene), applicazioni per cellulari e tablet ed estensioni per il browser. Le note possono essere divise in taccuini — per esempio uno per la documentazione e uno per ogni corso che seguite — e etichettate con dei tag.

Insomma vi consiglio decisamente di provarlo! Potete creare un account gratutito e attivare un mese di funzioni aggiuntive Premium gratis cliccando qui.

Proprio la funzione di ritaglio di parti di pagine web, seppur estremamente versatile, a volte può creare dei piccoli problemi. Infatti l’editor visuale di Evernote Web consente delle modifiche basilari. A volte alcune cose sono piuttosto complicate, come ad esempio:

  • rimuovere lo sfondo di un elemento
  • cancellare un pezzo di un ritaglio senza scombinare il resto
  • semplificare la struttura della pagina ritagliata

Naturalmente questi problemi non si presentano (o in maniera estremamente ridotta) con le note scritte di proprio pugno. Tuttavia, per i ritagli da pagine web sarebbe molto comodo poter modificare direttamente il codice HTML in modo da togliere o aggiungere elementi.

Evernote purtroppo non fornisce questa possibilità.

Questo è il motivo per cui mi sono imbattuto nel blog di Seb Maynard, uno sviluppatore che ha creato un bookmarklet per Evernote Web che consente di modificare l’HTML. Il bookmarklet funziona bene, però richiede di essere attivato ogni volta che si vuole fare una modifica e se si usa Evernote Web in modalità app (per esempio con Chromium) risulta molto scomodo.

Grazie alla gentilezza di Seb, che ha rilasciato il proprio codice sotto una licenza libera, ho creato uno user-script che permette di modificare il codice HTML con un bottone sulla barra degli strumenti. Insomma, un piccolo esempio di come il software libero sia di fondamentale aiuto per consentire il progresso e l’innovazione tecnologica. 🙂

La figura mostra lo script in azione proprio sulla nota che ho ritagliato con una versione precedente dell’articolo dedicato al bookmarklet.

Nuovo pulsante
Nuovo pulsante “HTML” inserito nella barra degli strumenti
Pulsante in azione nella nuova versione dell'interfaccia di Evernote Web
Pulsante in azione nella nuova versione dell’interfaccia di Evernote Web

Ho aggiunto alcune funzioni rispetto alla versione “base” di Seb. In particolare:

  • Il bottone sulla barra degli strumenti, per un’attivazione immediata
  • Ace Code Editor per facilitare le modifiche, con auto-completamento e evidenziazione della sintassi
  • Rimozione degli attributi non-standard di TinyMCE
  • Semplice formattazione automatica del codice HTML, per renderlo più leggibile

Gli ultimi due punti in particolare semplificano molto il lavoro di modifica. Come sempre, prima di installare lo script dovete procurarvi l’estensione corretta per il vostro browser:

Potete quindi scaricare lo script che ho pubblicato su GreasyFork, cliccando questo bottone:

Download — Evernote Web HTML editor

Per attivarlo, non vi resta altro che premere il pulsante HTML sulla barra di modifica di una nota. Vi accoglierà un editor molto comodo e di bell’aspetto. 😀

Ace Code Editor in azione su una nota
Ace Code Editor in azione su una nota

Ridurre l’alto consumo di CPU di Spotify

A molti utenti è capitato di riscontrare un massiccio consumo di CPU da parte di Spotify, la migliore applicazione per ascoltare musica in modo legale, anche in situazioni apparentemente “tranquille”. Per esempio, ecco come si comportava sul mio portatile con una canzone in pausa:

Massiccio consumo di risorse di due processi di Spotify
Massiccio consumo di risorse di due processi di Spotify

Il problema, almeno nel mio caso, deriva da alcuni elementi dell’interfaccia grafica che richiedono una considerevole potenza di calcolo per essere disegnati. L’interfaccia di Spotify è basata su Webkit, un componente che troviamo anche all’interno di alcuni browser (come Chromium), tuttavia non è molto performante.

Ho trovato la soluzione al problema ispirandomi a un messaggio trovato sul forum ufficiale. Si tratta solo di disattivare due opzioni. 🙂 Andate su Visualizza e togliete le spunte da Feed attività e Illustrazione grande brano in riproduzione. Ecco fatto!

Il risultato dopo la cura è il seguente:

Una situazione molto più tranquilla
Una situazione molto più tranquilla

Aggiornamento: poco dopo aver scritto questo post, ho notato che anche la pagina principale (intitolata Naviga) contribuisce ad appesantire la CPU. Pertanto vi consiglio di tenere aperta un’altra pagina, per esempio Album mentre ascoltate la musica. 😉