他の Web ページから画像を取得して自分の Web サイトに表示する方法を知りたいだけです。
ケースフローは次のとおりです。
- テキスト ボックスにページの URL を入力して送信します
- その Web ページ (サイト全体ではなく) のすべての画像を収集し、それらを私の Web ページに表示します
他の Web ページから画像を取得して自分の Web サイトに表示する方法を知りたいだけです。
ケースフローは次のとおりです。
したがって、ページから画像を取得する必要があり、入力データはそのページのアドレスです。さて、あなたには2つの解決策があります:
I. これが他のユーザーが使用するサイトの機能である場合、ブラウザーのプライバシー ポリシーにより、他のページからのそのようなデータの取得がブロックされるため、プレーンな JavaScript では不十分です。この場合に必要なのは、URL をサーバー上のスクリプトに送信することです。スクリプトはそのページをダウンロードし、s を解析して、画像 src のリストを返します。
これをどのように正確に行うかは、サイトのサーバー側のプログラミング言語に依存するため、かなり複雑な問題です。とにかく、そのような機能は、AJAX 技術とサーバー サイト スクリプト (php など) を使用したクライアント側の JavaScript で構成されます。かなり単純なクライアント スクリプトです。
クライアント側では、js は次のことを行う必要があります。
1. Get desired URLs
2. Send them to server
3. Wait for server's response (which contains srcs of images on desired page)
4. Create img tags with srcs which you got from server script
これを Google で検索するためのキーワードは、たとえば、AJAX、XmlHttpRequest、および JSONP です (既に知っている場合は申し訳ありません:)
サーバー側では、(php|ruby|python|perl|brainfuck) は次のことを行う必要があります。
1. Get page URL from javascript code at step 2
2. Download a page by that url
3. Parse it looking for img tags and their srcs
4. Send list of srcs (in XML, JSONP or any other form) back to client
Ⅱ.個人的な使用のためだけに他のページから画像を取得する必要がある場合は、ブラウザーの拡張機能を作成できます。この方法では、サーバー側のスクリプトは必要ありません。
JavaScript を使用して他の Web サイトをスクレイピングしたい場合は、プロキシとして機能するサーバー側スクリプトを作成するか、YQL を使用する必要があります。
YQLを使用したクロスドメインajax呼び出しに対する私の答えは次のとおりです。
まず、著作権を確認してください。画像が所有者から無料で提供されている場合にのみコピーしてください。また、使用許諾書を読んで理解してください。
ライセンスに基づいて所有者が述べているように画像が自由に使用できる場合は、画像をダウンロードしてから使用してください。また、ライセンスのコピーと、画像をダウンロードした Web サイトの URL を忘れずに保管しておいてください。
ダウンロードしてから使用することをお勧めします。そうすれば、明日他の Web サイトがシャットダウンしても、あなたの Web サイトは影響を受けません。
最後になりましたが、独自の画像をデザイン/撮影してみてください。他の人ほど良くなくても、少なくとも本物です。