2016-02-01 17 views

Odpowiedz

5

Aby to zrobić bez interfejsu API, należy załadować stronę internetową i wyodrębnić obraz z kodu html z kodem źródłowym. Możesz znaleźć odpowiednią stronę, ładując https://www.discogs.com/release/xxxx gdzie xxxx jest numerem wydania. Ponieważ html jest po prostu plikiem tekstowym, możesz teraz wyodrębnić URL jpeg.

Nie wiem, jaki jest twój język programowania, ale jestem pewien, że obsługuje on funkcje String, takie jak indexOf i subString. Można wyodrębnić zawartość html do obrazu OG:Image.

Więc biorąc przykład: https://www.discogs.com/release/8140515

  • Znajdź .indexOf("og:image\" content=\");startPos Zapisz jako w pewnym całkowitej.
  • To 19 znaków, więc następnie wykonaj .indexOf(".jpg", startPos + 19); w endPos.
    To pierwsze wystąpienie .jpg po indeksie startPos + 19 dowolnych innych znaków.
  • Teraz wyodrębnić podciąg z tekstu html img_URL = myHtmlStr.substring(startPos+19, endPos);

  • Należy skończyć z ciągiem przeczytaniu tak poniżej (wyodrębniony URL):
    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

  • Proces ten może zostać skrócony do znalezienia startPos indeks https://img., następnie znajdź pierwsze wystąpienie .jpg podczas wyszukiwania od tego indeksu startPos. Wyciąg w tym zakresie długości. To dlatego, że adres URL obrazu jest mowa tylko w kodzie HTML na https://img.

Porównaj stronę na: https://www.discogs.com/release/8140515 z ekstrahowanej URL obrazka poniżej.

+0

** Uwaga: ** Być może trzeba dostroić te numery indeksowe Poz. np .: Możesz zmienić z ** + 19 ** na ** + 21 **, aby odciąć cudzysłowy itp (** w razie potrzeby ** przez twoje narzędzie do kodowania). Dowiesz się, kiedy testujesz ... –

+0

Próbujesz pobrać obrazy wielu wydań, czy dyski Discogs nie blokują automatycznego dostępu? – Collector

+0

@Collector, nie sądzę (chyba, że ​​możesz pokazać inaczej). Dostęp nie był zablokowany dla żadnego mojego testowego kodu AS3 lub kodu PHP. Każdy załadowany 5 obrazów tylko do sprawdzenia ścieżek jest poprawnie przetwarzany. –

Powiązane problemy