1

を使用して Web サイトからデータをスクレイピングする php スクリプトがありますfile_get_contents('http://remote_site.com/page.html')。私が直面している唯一の問題は、すべてのデータがスクレイピングされて処理された後にのみデータが印刷されることです。スクリプトがスクラップとしてデータを取得する方法はありますprint か?echo

4

2 に答える 2

0

リモートファイルを読み取っているときにバッファを操作(およびフラッシュ)したい場合は、 -コマンド(、など)file_get_contentsを使用することから、を処理できるようにするために切り替える必要があると思います。廃棄するときにコードを記述します。はリモートファイルのオフセットパラメータをサポートしていないため、結果を処理する前に、ファイルが完全に読み取られるまで待つ必要があります。ffopenfgetsflushfile_get_contents()

php.iniファイルで有効になっていることを確認するallow_url_fopen必要がありますが、次のように記述できるはずです(ドキュメントから変更)。

$file = fopen ("http://www.example.com/", "r");
if (!$file) {
    echo "<p>Unable to open remote file.\n";
    exit;
}
ob_start();
while (!feof ($file)) {
    $line = fgets ($file, 1024);
    $buffer = $line;//you can manipulate what goes to the buffer here
    echo $buffer;
    ob_flush();
    flush(); 
}
fclose($file);

私はまだテストしていないので、これをいじる必要があるかもしれませんが、それがあなたが取りたいアプローチだと思います。

于 2012-10-08T04:46:08.210 に答える
-2

Try

<?php
print '<pre>'.print_r($data, 1).'</pre>';
于 2012-10-08T04:30:58.997 に答える