Какой самый элегантный способ сделать скрипинг экрана в node.js?

Сейчас я пытаюсь взломать веб-приложение, которое использует обширный скрипинг экрана в node.js. Я чувствую, что сражаюсь против тока на каждом углу. Должен быть более простой способ сделать это. Прежде всего, две вещи раздражают:

  • Распространение файлов cookie. Я могу вытащить массив set-cookie из заголовков ответов, но выполнение строковых операций для анализа файлов cookie из массива кажется крайне хакерским.

  • Переадресовать следующее. Я хочу, чтобы каждый запрос выполнял переадресацию, когда возвращается код состояния 302.

Я столкнулся с двумя вещами, которые выглядели полезными, но я не мог использовать их в конце:

  • http://zombie.labnotes.org/, но у него нет поддержки HTTPS, поэтому я не могу его использовать.

  • http://www.phantomjs.org/, но он не может использовать его, потому что он (кажется) не интегрируется с node. JS. Это также очень тяжело для того, что я делаю.

Существуют ли какие-либо библиотеки сценариев JavaScript-скриншотов, которые распространяют файлы cookie, следуют переадресации и поддерживают HTTPS? Любые указатели на то, как сделать это проще?

Ответы

Ответ 1

На самом деле у меня есть библиотека скребок https://github.com/mikeal/spider, это довольно хорошо, вы можете использовать jquery и маршруты.

обратная связь приветствуется:)

Ответ 2

Вы можете проверить https://github.com/mikeal/request от mikeal, я просто поговорил с ним в чате, и он говорит, что он не обрабатывает файлы cookie на данный момент, но вы можете написать подмодуль, чтобы обрабатывать их для вас тем временем.

в отношении перенаправления он красиво обрабатывает:)

Ответ 3

Оказывается, кто-то создал модуль phantomjs для node.js:

https://github.com/sgentle/phantomjs-node

В то время как phantom довольно тяжелый, он также поддерживает SSL, файлы cookie и все остальное, что поддерживает обычный браузер (поскольку в конце концов это браузер webkit).

Сделайте снимок, это может быть именно то, что вы ищете.