0

私のプロジェクトでは、サーバー内の別の Web ページの html コンテンツを取得する必要があります。問題は、特定のページに動的なコンテンツが含まれており、regx 分析を行うためにそのコンテンツのデータが必要なことです。

ページのサンプル コンテンツ

    <div id="loading" class="loading">ESPERE UN MOMENTO POR FAVOR...<br /><img src="images/cargador.gif" border="0" alt="ESPERE UN MOMENTO POR FAVOR..." /></div>
<p></p>
<div class="tabla_d">
<form method="post" action="xxx">
<div id="nresults"></div>
</form>
</div>

<script language="javascript">
function checkavailability() {
    jQuery("#loading").slideDown();
    jQuery.post("cart.php", { a: "noptions", sld: jQuery("#sld").val(), tld: jQuery("#tld").val(), checktype: 'transfer', ajax: 1 },
    function(data){
        $('html, body').animate({scrollTop: '550px'}, 800);
        jQuery("#nresults").html(data);
        jQuery("#nresults").slideDown();
        jQuery("#loading").slideUp();
    });
}

コンテンツは で div タグに読み込まれid="nreults"ます。要素を検査するとデータを表示できますが、CURL を使用してデータを取得できません。これを行う方法はありますか?私はかなり新しいので、助けていただければ幸いです。

4

1 に答える 1

0

直接ではありません。cURL を使用して、javascript が行うのと同じ要求を送信する必要があります。この要求は、ページ全体ではなく、動的にロードされる HTML を返します#nresults

$ch = curl_init('cart.php');

$values = array(
   'sld' => 'you need to figure out what this value should be',
   'a' => 'noptions',
   'tld' => 'you need to figure what this value should be',
   'checktype' => 'transfer',
   'ajax' => 1
);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $values);

$html = curl_exec($ch);

// run your regex on $html, though you probably dont want to do that
// you should probably use DOMDocument instead to operate on the DOM
// Unless you are just looking for a partuclar sring of text that has nothing
// to do with the HTML structure of the document.
于 2013-06-12T17:54:30.593 に答える