2016-02-01 4 views

答えて

5

APIなしでこれを行うには、ウェブページを読み込んで、ソースコードから画像を抽出する必要があります。関連するページはhttps://www.discogs.com/release/xxxxにロードしてください。xxxxはリリース番号です。 htmlは単なるテキストファイルなので、jpeg URLを抽出できるようになりました。

あなたのプログラミング言語はわかりませんが、indexOfsubStringのような文字列関数を処理できることは確かです。画像のhtmlのOG:Imageコンテンツを抽出することができます。

だから例を取っ: https://www.discogs.com/release/8140515

  • は、いくつかの整数に.indexOf("og:image\" content=\");startPosとして保存して下さい。
  • これは19文字ですので、次に.indexOf(".jpg", startPos + 19);endPosに入力してください。
    これは、startPos + 19のインデックスの後に、最初の出現を.jpgのいずれかの他の文字にします。今
  • あなたは以下この(URLを抽出)のように読んだ文字列で終わるべきでHTMLテキストimg_URL = myHtmlStr.substring(startPos+19, endPos);

  • からSUBSTRINGを抽出します。
    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

  • プロセスを見つけるに短縮することができますstartPos indexがhttps://img.である場合、その後startPos indexから検索すると、.jpgの最初の出現が見つかります。その長さの範囲内で抽出する。以下の抽出されたURLの画像をhttps://www.discogs.com/release/8140515:画像URLのみhttps://img.

でHTMLソースに言及した時にページを比較されているためです。

+0

**注:**あなたはそれらのインデックス順位番号を微調整する必要がある場合があります。例:引用符などを切り落とすために、** + 19 **から** + 21 **に変更することができます(**必要に応じて、コーディングツールで**できます)。あなたはテストするときにそれを理解します... –

+0

Discogsは自動アクセスをブロックしませんが、多くのリリースのイメージを取得しようとしていますか? – Collector

+0

@コレクター、私はそうは思わない(あなたが別の方法で示していない限り)。私のAS3コードまたはPHPコードのテストでアクセスがブロックされていませんでした。パスをチェックするためにロードされた5つのイメージは、それぞれ正確に解析されます。 –

関連する問題