Voglio ottenere le immagini delle versioni di Discogs. Posso farlo senza l'API di Discogs? Non hanno collegamenti alle immagini nei loro db dump.Come ottenere immagini delle versioni di Discogs?
risposta
Per eseguire questa operazione senza l'API, è necessario caricare una pagina Web ed estrarre l'immagine dal codice sorgente html. È possibile trovare la pagina corrispondente caricando https://www.discogs.com/release/xxxx
dove xxxx
è il numero di versione. Poiché html è solo un file di testo, ora puoi estrarre l'URL jpeg.
Non so quale sia il tuo linguaggio di programmazione, ma sono sicuro che può gestire le funzioni String, come indexOf
e subString
. È possibile estrarre il contenuto dello OG:Image
di html per l'immagine.
Quindi, prendendo un esempio: https://www.discogs.com/release/8140515
- Trova il salvataggio
.indexOf("og:image\" content=\");
comestartPos
per qualche intero. - Questo è 19 caratteri, quindi, fare uno
.indexOf(".jpg", startPos + 19);
in unendPos
.
Ottiene la prima occorrenza di .jpg dopo l'indice di startPos + 19 qualsiasi altro carattere. Ora estrarre un sottoStringa dal testo HTML
img_URL = myHtmlStr.substring(startPos+19, endPos);
si dovrebbe finire con una stringa di lettura come questo qui sotto (URL estratto):
https://img.discogs.com/_zHBK73yJ5oON197YTDXM7JoBjA=/fit-in/600x600/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-8140515-1460073064-5890.jpeg.jpgIl processo può essere ridotto a trovare il startPos indice
https://img.
, quindi individuare la prima occorrenza di.jpg
durante la ricerca dopo l'indice startPos. Estrai all'interno di tale intervallo di lunghezza. Questo perché l'URL dell'immagine è menzionato solo nel codice HTML inhttps://img.
Confronta pagina a: https://www.discogs.com/release/8140515 immagine estratta URL di seguito con.
- 1. Differenza sul rendering delle immagini su diverse versioni di Android
- 2. Come ottenere l'elenco delle versioni locali in .Net
- 3. Ordinamento delle versioni di PowerShell
- 4. Grafico delle versioni SWF alle versioni Flash
- 5. finestra mobile come posso ottenere l'elenco delle immagini figlio dipendenti?
- 6. DLL errori delle versioni
- 7. Come posso ottenere tutti i nomi delle immagini nel gruppo di cataloghi delle risorse?
- 8. Test delle versioni delle dipendenze in maven
- 9. iOS App numerazione delle versioni
- 10. git: codifica automatica delle versioni
- 11. Modelli di controllo delle versioni degli oggetti
- 12. Nozioni di base sulla numerazione delle versioni?
- 13. CouchDB strategia di controllo delle versioni
- 14. Serializzazione e controllo delle versioni
- 15. Quarzo: acquisizione delle immagini diff di due immagini
- 16. Quale schema di numerazione delle versioni utilizzare?
- 17. Come ottenere una matrice di immagini?
- 18. Offuscamento delle immagini
- 19. Vulnerabilità delle immagini esterne
- 20. Go ridimensionamento delle immagini
- 21. Android come fare la diapositiva delle immagini?
- 22. Aggiornamento delle versioni del database SQLite?
- 23. Picasso caricamento delle immagini
- 24. pitone riconoscimento delle immagini
- 25. sbiadimento iphone delle immagini
- 26. Best practice per un sistema di controllo delle versioni mysql
- 27. Libreria di modifica delle immagini per Android
- 28. Come ottenere setVideoScalingMode per le versioni precedenti di Android
- 29. Come ottenere versioni precedenti di pacchetti usando MSYS2?
- 30. Migliorare la velocità di elaborazione delle immagini
** Nota: ** Potrebbe essere necessario mettere a punto quei numeri indice Pos. es .: puoi cambiare da ** + 19 ** a ** + 21 ** per tagliare le virgolette ecc (** se necessario ** dal tuo strumento di codifica). Lo capirai quando testerai ... –
Cercando di recuperare le immagini di molte versioni, non sarà possibile bloccare l'accesso automatico di Discogs? – Collector
@Collector, io non la penso così (a meno che tu non possa mostrare il contrario). L'accesso non è stato bloccato per nessuno dei miei test di codice AS3 o codice PHP. Ogni caricato 5 immagini solo per controllare i percorsi vengono analizzati correttamente. –