2012-03-13 28 views
0

私はPHP/CURLを使ってwebbootをプログラミングしようとしていますが、特定のページを扱う際にいくつかのコンテンツを動的にロードする問題に直面しています! .. もっと説明する: PHP/CURLを使用してページをダウンロードしようとすると、コンテンツが取得できません。ページが読み込まれた後にこの内容が読み込まれることがわかりました。これがCURLがこれらの欠落したコンテンツを処理しない理由です。PHP/CURLを使用してコンテンツを取得する(動的読み込みページ)

いずれかが私を助けることができます!

私のサンプルコードは次のとおりです。

$ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_REFERER, $reffer); 
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $redirect); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, ABSOLUTE_PATH."Cookies/cookies.txt"); 
    curl_setopt($ch, CURLOPT_COOKIEJAR, ABSOLUTE_PATH."Cookies/cookies.txt"); 
$result = curl_exec($ch); 
+0

あなたが何をしていても、javascriptが有効になっているブラウザとして動作しないので、ajax/jsonpなどを介してコンテンツを取得することはできません。ブラウザをシミュレートするテストプラットフォームを試すことはできますが、目的を破るようです。 Googleではこのタイプのコンテンツを解析しません。そのページのデータが必要な場合(クローラを作成していない場合)は、複数の呼び出しを行い、システムを複製します。 – mishu

+0

'複数の呼び出しを行い、システムを複製します。ブラウザをシミュレートするこれらのプラットフォームの1つを挙げることができます。おかげで – user504363

答えて

1

読み込もうとしているURLは何ですか?あなたがリクエストしているページに、事実の後にコンテンツをロードする1つ以上のAJAXリクエストがある可能性があります。私はcURLがAJAXや他のXHRリクエストを介して実行時にロードされる情報に対応できるとは思わない。

PhantomJSは、ページを完全に実行し、動的に組み立てられたDOMを返す、ヘッドレスWebKitブラウザです。

+0

shorouknews.com/caricature/waleed – user504363

+0

AJAX経由でページが読み込まれた後は確かにデータが読み込まれます – infomaniac

+0

ありがとう、私は[json post]でそれを行いました(http://www.lornajane.net/posts/2011/posting -json-data-with-php-curl)とカール – user504363

関連する問題