He encontrado muchos tutoriales que explican cómo raspar sitios web públicos que no requieren authentication / inicio de session , usando node.js.
¿Alguien puede explicar cómo raspar sitios que requieren iniciar session usando node.js?
Use la biblioteca de request de Mikeal , debe habilitar el soporte de cookies de esta manera:
var request = request.defaults({jar: true})
Por lo tanto, primero debe crear un nombre de usuario en ese sitio (manualmente) y pasar el nombre de usuario y la contraseña como parameters al realizar la request POST a ese sitio. Después de eso, el server responderá con una cookie que Request recordará, por lo que podrá acceder a las páginas que requieren que inicie session en ese sitio.
Nota: este enfoque no funciona si se usa algo como reCaptcha en la página de inicio de session.
O usando superagente :
var superagent = require('superagent') var agent = superagent.agent();
agent
es entonces un browser persistente, que se encargará de get y establecer cookies, references, etc. Just agent.get
, agent.post()
como de costumbre.