PHPでGoutteを使用してスクレイピングをする際に、jsの部分も取得したいので、PhantomJsというものを利用しようとしているのですが、
Fatal error: Uncaught InvalidArgumentException: The URL of the element is relative, so you must define its base URI passing an absolute URL to the constructor of the Symfony\Component\DomCrawler\AbstractUriElement class ("" was passed).
というエラーが出てしまいます。
調べてみたところ、
PHP
1$client = Client2::getInstance(); 2 $client->getEngine()->setPath('bin/phantomjs'); 3 $request = $client->getMessageFactory()->createRequest('リンク', 'GET'); 4 $response = $client->getMessageFactory()->createResponse(); 5 $client->send($request, $response); 6 $crawler = new Crawler($response->getContent()) 7 $loginform = $crawler->filter('form')->form(); 8
このようなソースのクローラーインスタンスに、ベースURLが正しいかどうかの手がかりがないとのことなのですが、どのように設定してあげれば良いのか分かりません。
お助け願います。
あなたの回答
tips
プレビュー