我有一个简单的目标:使用phantom.js(开箱即用)或casper.js(更好更容易)加载网页,但如果当前的错误(即网页加载失败或类似情况)使用代理并从列表中旋转它那).
我知道casper.js有–proxy param但它指示用户只指定一个代理并在运行时使用它.
问题#1是:如何以编程方式动态旋转代理?
我做了一些研究,发现这个node-requester,但它没有与casper.js集成.我试图在code中提取出代理功能但是并没有真正理解它是如何工作的(我猜我不是那么聪明).
所以问题#2:是否有一些简单的代理轮换实现,可以与phantom.js或casper.js一起使用?
我更喜欢使用花哨的casper.js,但也会使用phantom.js.
解决方法
我曾经有同样的问题,我曾与PhantomJS合作过.我们最终得到的解决方案是将PhantomJS作为较大Java / Scala服务器的子进程运行,然后处理失败并在需要时分配不同的代理(通过在-proxy arg中重新运行不同的params).