jQuery:さまざまなサイトからコンテンツを取得/解析します
-
30-09-2019 - |
質問
次のことをしたい:いくつかのサイトからニュースを手に入れ、jQueryセレクターを使用してコンテンツを解析し、1つのページに表示します。
これはjqueryでどのようにできますか?
ありがとう。
解決
セキュリティ理由のJavaScript(したがってjQuery)Ajaxメソッドの場合、サイトと同じドメイン上のURLからのデータのみを取得できます。
ただし、いくつかの作業アラウンドがあります。サーバー側のスクリプトを使用して、リモートコンテンツをダウンロードできます。プロキシのように考えてください。または、調べることもできます jsonp, 、しかし、リモートサイトはそれを提供する必要があります。
他のヒント
スクリプトが実行されているドメインとは異なるドメインからコンテンツを取得できないため、純粋なjQueryやJavaScriptではできません。これは、防ぐためのセキュリティ尺度です クロスサイトスクリプト
しかし、ここで可能な解決策を参照してください: クロスサイトスクリプト(XSS)
あなたのニュースがあなたが望むものの線に沿ってコンテンツを取得するメカニズムを明示的に提供するサイトから来ていない限り、あなたはクライアント(つまり、ブラウザ)からこれを行うことはできません。あなたからコンテンツを取得できます サーバ, しかし、それからあなたが好きなように生の状態であなたのクライアントにそれを引き渡します。
JavaScriptに関する限り、APIを使用して明示的に共有していない限り、他のページからコンテンツを取得することはできません。
あなたができることは、使用することです カール サーバー側では、他のWebサイトからデータを取得し、それを操作してサーバー側を操作して提供します。
注:他の人に属するコンテンツを取ります - 同意なしにそれを操作し、あなた自身のものとして提示することはトラブルへの招待です。
他の返信とは反対に、スクリプトブロックソースはクロスドメインアクセスからブロックされていないため、ページのヘッダーにスクリプトブロックを動的に追加し、サイトからの結果の出力をコールバックとして作成した場合(基本的には関数呼び出しに巻き付けます、および独自のコードでtaht関数を処理します)その後、他のドメインのコンテンツにアクセスできます - フリップ側は、コールバックでデータを提示するためにサイトを必要とすることです。それ以外の場合は機能しません。
RSSフィードのサポートからニュースを取得しようとしているWebサイトがJFeedのようなjQueryプラグインを使用してRSSを取得することができ、自分のWebサイトに表示することができます。
ただし、必要なWebサイトにRSSまたはスクレイプメタタグを収集して使用するWebサービス(ASP.NET、PHPなど)をセットアップすることをお勧めします。 jquery.get() すべてのニュースを取得するため