【发布时间】:2021-05-11 01:28:05
【问题描述】:
我被这个错误困住了...... 但客户端已定义。
我的代码是这样的
use Goutte\Client;
use Illuminate\Http\Request;
use GuzzleHttp\Client as GuzzleClient;
class WebScrapingController extends Controller
{
public function doWebScraping()
{
$goutteClient = new Client();
$guzzleClient = new GuzzleClient(array(
'timeout' => 60,
'verify' => false
));
$goutteClient->setClient($guzzleClient);
$crawler = $goutteClient->request('GET', 'https://duckduckgo.com/html/?q=Laravel');
$crawler->filter('.result__title .result__a')->each(function ($node) {
dump($node->text());
});
}
}
我认为这行有错误
$goutteClient->setClient($guzzleClient);
goutte:“^4.0”
guzzle:“7.0”
Laravel 框架:“6.20.4”
【问题讨论】:
-
4.0版本不推荐setClient方法,直接在Goutte的构造函数中添加实例
-
哦,我明白了。问题是它,谢谢@bhucho。用详细的解决方案做出答案,它可以帮助别人。
标签: php laravel web-scraping guzzle goutte