0

foreachループを使用して、複数のシードURLをループします。各ループ中に、PHPCrawlと次のシードURLを使用してクローラーをインスタンス化します。

foreach($companyUrls as $companyId => $companyUrl) {
    $crawler = new MyCrawler($companyUrl, $companyId);
    $crawler->go();
}

最初のループでは正常に実行されますが、クロールが実行される前に2回目に次のエラーがスローされます。

"Call to undefined method stdClass::receivePage() in
/data/utilities/PHPCrawl_070/classes/phpcrawler.class.php on line 201"

元のPHPCrawlV0.70クラスは変更していません。PHPCrawlのドキュメントで説明されているように、PHPCrawlerクラスを拡張し、handlePageData()関数にプロセスコードを追加しただけです。foreachループなしでこれを実行すると(新しいURLで一度に1つずつ新しいクラスをインスタンス化する)、システムは正常に動作します。

助けてください!!

4

1 に答える 1

0

これは既知のエラーであり、バージョン0.71で修正されています(バージョン0.70を使用していました)。

コメントありがとうございます@prodigitalson。

于 2011-07-06T06:55:11.340 に答える