• 締切済み

goutteを使った複数ページのスクレイピング

goutteを使って2箇所スクレイピングをして、1ページに表示したいです。 1カ所目(http://www.example1.html)はうまく表示出来たのですが、2カ所目http://www.example2.htmlが出来ません。 <?php require __DIR__.'/goutte.phar'; use Goutte\Client; $client = new Client(); $crawler = $client->request('GET', 'http://www.example1.html'); ?> <div> <?php $crawler->filter('table')->eq(0)->each(function($today) { echo $today->html(); }); ?> </div> <?php require __DIR__.'/goutte.phar'; use Goutte\Client; $client = new Client(); $crawler = $client->request('GET', 'http://www.esample2.html'); ?> <div> <?php $crawler->filter('table')->eq(0)->each(function($tomorrow) { echo $tomorrow->html(); }); ?> </div> 変数名を変えて見ましたがうまく行きませんでした。どうすれば表示されるのでしょうか。

みんなの回答

  • chirakuma
  • ベストアンサー率58% (253/430)
回答No.1

サイトの情報を取ってくるところまでは$crawlerにデータが入っているかで確認が出ます。 ちゃんととれているかは、 var_dump($crawler); とかで確認してください。 その後にfilter()やeq()で条件を絞り込んでいるかと思いますが、クロールしてきたページにその条件が無いためにecho()に引っかかってこないだけでは無いでしょうか。ページ毎に条件は設定を調整する必要があるので、該当のタグやセレクタがページ内にあるかを再度確認してみてください。

関連するQ&A