2016-02-01 13 views

risposta

5

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=\"); come startPos per qualche intero.
  • Questo è 19 caratteri, quindi, fare uno .indexOf(".jpg", startPos + 19); in un endPos.
    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.jpg

  • Il 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 in https://img.

Confronta pagina a: https://www.discogs.com/release/8140515 immagine estratta URL di seguito con.

+0

** 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 ... –

+0

Cercando di recuperare le immagini di molte versioni, non sarà possibile bloccare l'accesso automatico di Discogs? – Collector

+0

@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. –

Problemi correlati