如何解决为 Panther 设置一个 ChromeDriver 实例,而不是为每个请求创建一个
我在一个不使用 Symfony 的 PHP 项目中使用 Symfony Panther 进行网络抓取(不是测试)。我是通过 Composer 安装的。每次我需要抓取用户提交的链接时,我都会启动一个新的 Chrome 浏览器。
$client = Symfony\Component\Panther\Client::createChromeClient('/usr/bin/chromedriver');
$client->request('GET',$url);
$crawler = $client->waitFor('body');
为每个提交的 $url
启动一个新的 Chrome 浏览器很慢并且占用大量资源,所以我想让 Chrome 客户端在端口 9515 上运行,然后每个用户的 $url
请求可以连接到相同的实例。基于 Github 上的 some 用户 comments,这听起来是一个合理的方法:
- 在 Linux 服务器上启动 Chrome 实例,在端口 9515 上运行
- 使每个 url 请求连接到该实例。
我在 CRON 作业的 PHP 脚本中放置了第一行,即使用 createChromeClient,但它从未启动 chrome 客户端,我也没有收到任何错误。任何想法如何实现这一目标?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。