我想从网站上抓取数据。这些数据呈现在网站上的HTML画布上,并不断更新。据我了解,不能从画布元素上刮下数据,因为它或多或少是一个图形。但事实仍然是,这些数据正在流式传输到我的浏览器,因此使用PhantomJS或NodeJS等无头JavaScript引擎,我应该能够访问来自Web套接字的原始数据。我已经使用 PhantomJS 抓取了网站,但我找不到一种方法来获取通过 Web 套接字传入的原始数据。我正在使用 PhantomJS 加载页面,它已加载,但显然页面会打开一个新连接以连接到源服务器上的 Web 套接字并开始接收提要。我的PhantomJS脚本如何挂接到它?
谢谢。
PhantomJS 1.x 不支持 Web 套接字。PhantomJS 2 仍然没有出来。
如果该站点实际上在PhantomJS中工作,那么可能会有一些回退,在这种情况下,您可以使用page.onResourceReceived
注册到事件并抓取一些元数据。事件侦听器不公开资源数据。由于回退可能是有状态的,因此您实际上无法使用自定义 XHR 来抓取它。