PHP 中 SSO 的 Selenium Webdriver 替代品

Alternative to Selenium Webdriver for SSO in PHP

我想抓取一个需要使用 SSO 登录的网站。我的问题是,该站点使用 SSO 进行身份验证。现在我在 Python 中找到了一个使用 Selenium Webdriver 的解决方案,我想知道是否有可能在 PHP?

中做同样的事情

也许有人遇到过同样的问题,可以帮助我...

PhantomJS is headless Webkit and Chrome will soon support headless mode. (I mention PhantomJS even though the lead dev recently announced他们放弃了项目的开发。)

PhantomJS 是一种与语言无关的、完全基于浏览器堆栈的解决方案,用于执行各种任务,包括屏幕截图和高级网络抓取。缺点是抓取任务的性能显着下降,因为加载了整个页面——图像、Javascript、iframe 等。在我看来,虽然它有效,但对于大多数抓取任务来说,PhantomJS 是相当过分的,其中只有一部分提供的信息被认为是有用的。

对于我在 PHP 中几乎所有的网络抓取和服务器到服务器的通信需求,我使用我编写并积极维护的 Ultimate Web Scraper Toolkit。它配备了所需的一切:内容检索和数据提取工具。它几乎适用于我投入使用的所有内容,包括一些非常复杂的 Word HTML 网站。

通过 SSO 可能非常棘手,对于可能提供 CAPTCHA and/or 需要双因素身份验证(例如 Google 或 Facebook)的提供商来说尤其如此。登录后,保存会话供以后使用是个好主意(即网站的 cookie)。这样一来,您只需验证一次,然后通过与远程主机的定期通信保持会话活动。