La mia applicazione deve recuperare informazioni su qualsiasi libro pubblicato in base a un codice ISBN, titolo o autore. Questo non è certo un requisito unico --- siti come Amazon.com, Chegg.com e persino software come Book Collector sembrano essere in grado di farlo facilmente. Ma non sono stato in grado di replicarlo.Come ottenere i metadati del libro?
Per chiarire, non ho bisogno di cercare l'intero database di libri --- solo un sottoinsieme limitato che è stato immesso, come in una raccolta di libri. Il database mi permetterebbe semplicemente di etichettare i libri immessi con i metadati necessari per abilitare la ricerca su quel sottoinsieme di libri. Quindi la scala non è il problema qui --- ottenere i metadati è.
Le opzioni che ho provato sono:
- Raschiare Amazon. Scraping le normali pagine di Amazon non era molto robusto per cose come autori mancanti, e mentre raschiare le pagine mobili più piccole era più veloce, condividevano gli stessi problemi con la robustezza dell'estrazione. Inoltre, la creazione di questo in un'applicazione è una chiara violazione dei Termini di servizio di Amazon.
- Raschiare la Biblioteca del Congresso. Anche se questo sembra avere meno implicazioni legali, facilità e robustezza sono stati di nuovo problemi.
- ISBNdb.com API. Mentre il servizio è gratuito fino a un certo punto e fa un buon lavoro nel restituire i metadati necessari, devo farlo per oltre 500 libri ogni giorno, a quel punto questo servizio costa soldi proporzionali per l'uso. Preferirei una soluzione di pagamento gratuita o una tantum che mi consenta di fare lo stesso.
- API di Google Book Data. Anche se questo sembra fornire le informazioni di cui ho bisogno, non posso visualizzare l'anteprima del libro come richiesto dai loro termini di servizio.
- Acquista una licenza per un database di libri. Ad esempio, aziende come Ingram o Baker & Taylor forniscono questi cataloghi a rivenditori e biblioteche. Questa soluzione è ovviamente costosa, quindi spero che ci sia una soluzione più elegante che mi sia sfuggita. Ma se no, e qualcuno su SO ha avuto una buona esperienza con un database particolare, sono disposto ad andare con quello.
Ho cercato di descrivere in dettaglio il mio approccio in modo che altri con meno libri possano usufruire delle soluzioni di cui sopra. Ma date le mie esigenze, sono alla fine del mio ingegno per recuperare i metadati del libro, quindi ogni suggerimento è molto apprezzato.
Hai provato [API Goodreads] (https://www.goodreads.com/api)? – Veenit