Alcuni mesi fa è stata rilasciata da ICCU una app mobile per consultare l’OPAC SBN.
Anche se graficamente poco accattivante l’app funziona bene, e trovo molto utili le funzioni di ricerca di un libro scansionando il codice a barre con la camera del telefonino, e la possibilità di bookmarkare dei preferiti.
Incuriosito dal funzionamento ho pensato di analizzarne il traffico http.
Con mitmproxy in esecuzione sul laptop ho settato il device android
configurando Proxy hostname e Proxy port con l’indirizzo del laptop nella mia rete e la porta :8080
Effettuando delle operazioni di ricerca con la app ho potuto ispezionarne il traffico http, vedendo del traffico di dati json verso l’endpoint http://opac.sbn.it/opacmobilegw
Ricerca una {STRING} nell’intero catalogo (paginando i risultati con i parametri start e row), avendo come risposta una serie di record nel seguente formato (oltre ad altre informazioni interessanti, come faccette e soggetti).
Effettuando la chiamata con un BID (dalla risposta precedente "codiceIdentificativo": "IT\\ICCU\\RAV\\2002745" - nota: i backslash sono singoli) si ottiene un record json con i metadati del libro, corredati delle localizzazioni (le biblioteche che lo possiedono) complete di coordinate geografiche (quindi pronte per essere visualizzate su una mappa).
Queste API non sono documentate pubblicamente, per cui potrebbero cambiare. E non sono noti nemmeno i termini di utilizzo, per cui non sono certo che si possano usare liberamente per costruirci sopra applicazioni esterne.
Se volete sperimentarle in ogni caso evitate operazioni di scraping selvaggio, ed esprimete con una mail all’ICCU il desiderio di vedere questo tipo di servizi resi pubblici, documentati, con opportune licenze d’uso aperte.