次のことを行いたいと思います。複数のサイトからニュースを取得し、jQueryセレクターを使用してコンテンツを解析し、1つのページに表示します。
これはjQueryでどのように行うことができますか?
ありがとう。
次のことを行いたいと思います。複数のサイトからニュースを取得し、jQueryセレクターを使用してコンテンツを解析し、1つのページに表示します。
これはjQueryでどのように行うことができますか?
ありがとう。
セキュリティ上の理由から、JavaScript(したがってjQuery)のAJAXメソッドは、サイトと同じドメインのURLからのみデータを取得できます。
ただし、いくつかの回避策があります。サーバーサイドスクリプトを使用して、リモートコンテンツをダウンロードできます。これは、プロキシのように考えてください。または、 JSONPを調べることもできますが、リモートサイトがそれを提供する必要があります。
スクリプトが実行されているドメインとは異なるドメインからコンテンツをフェッチできないため、純粋なjQueryまたはJavaScriptでは使用できません。これは、クロスサイトスクリプティングを防ぐためのセキュリティ対策です。
しかし、ここで可能な解決策を参照してください:クロスサイトスクリプティング(XSS)
あなたのニュースがあなたが望むものに沿ってコンテンツをフェッチするためのメカニズムを明示的に提供するサイトから来ていない限り、あなたはクライアント(つまりブラウザ)からこれを行うことはできません。ただし、サーバーからコンテンツをフェッチして、必要に応じて未加工の状態でクライアントに渡すことができます。
javascriptに関する限り、APIを使用して明示的に共有していない限り、他のページからコンテンツを取得することはできません。
あなたができることは、サーバー側でcURLを使用して他のウェブサイトからデータを取得し、それを操作することです-サーバー側でそれを提供します。
注:他人のコンテンツを取得する-他人の同意なしにコンテンツを操作し、自分のものとして提示することは、トラブルへの誘いです。
他の返信とは異なり、スクリプトブロックソースはクロスドメインアクセスからブロックされないため、ページのヘッダーにスクリプトブロックを動的に追加し、サイトからの結果の出力をコールバックとして作成すると(基本的に関数呼び出しでラップします) 、および独自のコードでtaht関数を処理します)、他のドメインのコンテンツにアクセスできます-反対に、コールバックでデータを提示するサイトが必要です。そうでない場合は機能しません。
ニュースを取得しようとしている Web サイトが RSS フィードをサポートしている場合は、jFeed などの jquery プラグインを使用して RSS を取得し、それを自分の Web サイトに表示することができます。
ただし、必要な Web サイトで RSS またはスクレイプ メタ タグを収集する Web サービス (asp.net、php など) をセットアップし、jquery.get()を使用してすべてのニュースを取得することをお勧めします。