2016-03-30 20 views
2

私はAJAXとphpを使い慣れていて、PHP HTML DOM Parserを使って外部サイトからhtmlを取得する方法を見つけようとしています。しかし、取得されたhtmlはすぐにDOMに読み込まれたものであり、後でJavascriptを介してページに含まれる要素を必要とします。どのように私はPHPで後者をフェッチするのですか?PHP - 完全にロードされた外部ページからHTMLをロードする

例:パーザをロードするときに:http://csgo.exchange/id/76561198078821986 h3タグが "0.00"の値でdomにロードされ、後で変更されるため、左側のh3タグの大きな数値が "0.00"です。 Javascriptを介してその本当の価値。本当の価値をどのように取り出すのですか?

+0

注:h3は私の側で0.00ではありません。それは170157.72であり、jsによって変更されることはありません。それはhtmlに付属しています。 – Miro

答えて

0

PHP Parserをそのページで使用できない理由は、JavaScriptのみを実行するため、HTMLのみであるためです。

あなたがそのページからデータを取得することを主張した場合、あなたはPhantomJS

のようなヘッドレスブラウザが必要ですそれ以外のデータを取得する方法には、JavaScriptからそれを取得している場所を見つけ、同じ変数を渡すことです。

あなたのケースでは、それはです:http://csgo.exchange/inventory/76561198078821986/retry/

あなたは今、代わりにPHP HTMLパーサでこのURLを解析し、必要な値を得ることができます。

保存するルールは、常にhtmlまたはjsonのいずれかの形式のデータを見つけることです。 Chromeのネットワークタブはあなたの親友です。

+0

信じられないほど!私は喜びで泣くかもしれません。私は正しく理解していますか? Chromeのコンソールの[ネットワーク]タブを分析して、ページに「http://csgo.exchange/inventory/76561198078821986/retry/」のデータがロードされていることがわかりましたか? 普遍的に適用できる方法ですか? – user3745387

+0

はい。ネットワークタブには、js、css、および画像を含む最初のページの読み込み後に読み込まれたすべてのものが表示されます。 XHRを選択すると、ajaxコンテンツのみをフィルタリングできます。 – Miro

関連する問題