2012-04-08 8 views
0

私はexpediaと提携しており、APIシステムを使用しています。サイトを起動するための要件の1つは、私のページに利用規約を追加することです。このページはhttp://travel.ian.com/index.jsp?pageName=userAgreement&locale=en_US&cid=xxxです。私は別のサイトに行きたくないので、更新のために情報をコピー&ペーストできません。私はまたiframeを使用しないことを好む。誰にどのようにこれを行うにはどのようなアイデアがありますか?自分のサイトでドメインを使用しているウェブページ:http://www.helloweekends.com/terms.htmです。誰が彼らがこれをやったか知っていますか?どんな助けでも大歓迎です!1つのページからhtmlコンテンツを取得し、それを自分のウェブサイトに追加する

+0

jQueryのを使用してコンテンツをロードするために簡単になったが、残念ながらいたかもしれませんそのマークアップには、jQueryのAjax呼び出しを使用してその要素を選択してページにロードできるIDまたはクラスが関連付けられていません。 – Kushal

答えて

1

他のドメインに由来するので、same origin policyのためにJavaScriptを使用することはできません。また、JavaScriptが更新されていないと、JavaScriptが無効になっているユーザーには問題が発生します。 iframeを使用したり、コンテンツをコピーしたりしたくないので、自分のページを自分の好きなサーバー側の言語で掻き集め、ページに表示することをおすすめします。

あなたがマークアップに頼っているのであれば、掻き分けはややこしいことがあります。彼らがマークアップを変更した場合、あなたのスクリプトが壊れる可能性があります。したがって、この用語の更新は中止されます。

サイトをスクラップする方法については、さまざまなチュートリアルがあります。ここではいくつかのPHPの例は以下のとおりです。

  1. Web scrape with PHP
  2. PHP Screen Scraping Tutorial

あなたは彼らに違反しないように、彼らはあなたが前にそれを実装するページをこすりすることができていることを確認してくださいルール

0

APIがJSONで何かを提供しているかどうか知っていますか? JSONP呼び出しは値を取得することができますが、更新されたページを表示するにはjavascriptに依存します。

別のオプションは、他のサーバー側言語のPHPを使用してURLの内容を取得し、処理して必要なブロックを返すことです。

0

私はload() function offered by jQueryを提案します。これは、ファイルを取得するための簡単なAJAX呼び出しを行い、セレクタを使用してページの一部だけを取得することさえできます。たとえば、div要素の中にHTMLページの内容をロード:

$('#div_id').load('my_file.html'); 

それとも、ページの一部をロードする:

$('#div_id').load('my_file.html #main_text_id'); 
関連する問題