使用node.js刮取需要身份验证的网站

时间:2013-07-20 18:47:41

标签: node.js web-scraping

我正在尝试废弃此网站https://www.erobertparker.com/entrance.aspx它需要身份验证我正在使用请求模块进行身份验证,

 request({
        url:"https://www.erobertparker.com/login.aspx",
        method:"POST",
        form:{UNENTRY:"username",PWENTRY:"password"}
    },
    function(error,response,body){
 })

但我无法通过身份验证我的错误可以有人请指导我,我是网络抓狂世界的新手:)。

2 个答案:

答案 0 :(得分:1)

它使用的是asp.net会话cookie。您可能需要将所有cookie存储在jar中,然后在下次请求时将其发回。

答案 1 :(得分:0)

您好我在请求中使用jar参数解决了这个问题:

var j = request.jar();
    var request = request.defaults({ jar : j }) //it will make the session default for every request
    //...
    request({
        url:"https://www.erobertparker.com/login.aspx",
        method:"POST",
        form:{UNENTRY:"username",PWENTRY:"password"}
    },
    function(error,response,body){
        //Do your logic here or even another request like
        request({
            url:"<ANOTHER LINK>",
            method:"GET",
        }, function(error, response, body){
            //Some logic
        });
    });

您还可以查看请求模块的文档: https://github.com/request/request#examples