7

我有一个简单的目标:使用phantom.js(开箱即用)或casper.js(更好更容易)但使用代理加载网页,如果当前的网页不好(即网页加载失败或类似情况),则从列表中旋转它。

我知道 casper.js 有--proxy参数,但它要求用户只指定一个代理并在运行时使用它。

问题 #1 是:如何以编程方式动态旋转代理?

我做了一些研究,发现了这个节点请求器,但它没有与casper.js. 我试图只提取代码中的代理功能,但并没有真正理解它是如何工作的(我猜我没那么聪明)。

所以问题 #2:是否有一些简单的代理轮换实现可以与phantom.jsor一起使用casper.js

虽然我更喜欢使用花式casper.js,但也会使用phantom.jsbare。

4

2 回答 2

6

不久前我遇到了同样的问题,我使用 PhantomJS。我们最终得到的解决方案是将 PhantomJS 作为大型 Java/Scala 服务器的子进程运行,然后在需要时处理故障并分配不同的代理(通过在 --proxy arg 中使用不同的参数重新运行)。

于 2013-06-10T15:37:16.613 回答
0

我和 Puppeteer 有同样的问题,虽然想法是一样的。

我启动了通过https://www.npmjs.com/package/gimmeproxy-request运行的本地 Node.js 代理,并将 Puppeteer 实例指向它。

使用本地代理服务器,我能够验证页面何时无法加载并重试请求。

于 2020-01-05T17:02:39.060 回答