Phantom.js/Casper.js с вращающимся прокси?

У меня есть простая цель: загружать веб-страницы либо с phantom.js (из коробки), либо с casper.js (красиво и проще), но используя прокси-сервер и поворачивать его из списка, если текущий плохой (т. е. веб-страница не загружается или что-то типа того).

Я знаю, что у casper.js есть параметр --proxy, но он требует от пользователя указать только ОДИН прокси-сервер и использовать его во время выполнения.

Вопрос №1: как программно менять прокси на лету?

Я провел небольшое исследование и нашел этот node-requester, но он не интегрирован с casper.js. Я попытался извлечь только функцию прокси в коде но не совсем понял, как это работает в двух словах (думаю, я не настолько умен).

Итак, вопрос № 2: существует ли простая реализация ротации прокси, которая работает как с phantom.js, так и с casper.js?

Я предпочитаю использовать причудливую casper.js, но и с phantom.js тоже сойду.


person HP.    schedule 25.05.2013    source источник


Ответы (2)


У меня была такая же проблема некоторое время назад, я работал с PhantomJS. Решение, к которому мы пришли, заключалось в запуске PhantomJS в качестве дочернего процесса более крупного сервера Java/Scala, который затем обрабатывал сбои и при необходимости назначал разные прокси (путем повторного запуска с другими параметрами в --proxy arg).

person McMeep    schedule 10.06.2013
comment
Прошло пару лет, есть ли лучшее решение сегодня? - person eozzy; 02.09.2016

У меня была такая же проблема с Puppeteer, хотя идея та же.

Я запустил локальный прокси-сервер Node.js через https://www.npmjs.com/package/gimmeproxy-request и указал на него экземпляр Puppeteer.

Используя локальный прокси-сервер, я смог проверить, когда страница не загружалась, и повторить запрос.

person Andrey E    schedule 05.01.2020