0

基本的に、最大実行時間を回避する必要があります。

さまざまな間隔で情報を得るためにページをスクレイピングする必要があります。つまり、それらの間隔でボットを呼び出して、データベースからリンクをロードし、リンクが指すページをスクラップします。

問題は、ボットのロードです。javascript (Ajax 呼び出しなど) でロードすると、ブラウザーは、ページが応答するのに時間がかかりすぎているというエラーをスローし、さらにページを開いたままにしておく必要があります。

PHP内から実行する場合、おそらく実行時間を必要なだけ延長できますが、エラーがスローされた場合、プロセスを強制終了するアクセス権がなく、PHPが実行されるまでブラウザーに何も表示されません完成ですよね?

誰かがこれを回避するためのトリックを持っているかどうか疑問に思っていましたか? スクレーパーは、ずっと監視しなくても、さまざまな間隔で単独で実行されます。

乾杯 :)

4

4 に答える 4

2

次のように使用set_time_limit()します。

set_time_limit(0);
// Do Time Consuming Operations Here
于 2009-02-25T13:02:39.183 に答える
0

CRONを介して実行し、スパイダーをチャンクに分割するため、一度にいくつかのチャンクしか実行しません. いくつかのチャンクのみを処理するために、異なるパラメーターを使用して CRON から呼び出します。

于 2009-02-25T15:20:03.813 に答える