node.js – 刮痧Netflix

前端之家收集整理的这篇文章主要介绍了node.js – 刮痧Netflix前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
试图以编程方式从Netflix中获取我最后查看的数据,但仅在登录阶段遇到一些问题.我当前的代码只会导致Netflix吐回来我们无法处理您的请求.页:
var request = require('request').defaults({jar: true});
var cheerio = require('cheerio');

var url = "https://www.netflix.com/Login?locale=en-GB&nextpage=https%3A%2F%2Fwww.netflix.com%2FWiViewingActivity";

request(url,function (error,response,body) {
    if (!error && response.statusCode == 200) {
        var $= cheerio.load(body);
        var authCode = $("#login-form > input").attr("value");
        request.post(url+"?email=myemail%40gmail.com&password=mypassword&RememberMe=on&authURL="+authCode,{
        },function(err,body){
            console.log(body);
        });
    }
})

有任何想法吗?

令人惊讶的是,Google在刮刮Netflix方面几乎没有任何东西.

解决方法

想出来,需要:

>发送任何类型的用户代理字符串
>使用请求的表单参数发送表单数据
>手动发送cookie

这是我的最终代码,它获取最新观看的项目:

var request = require('request').defaults({jar: true});
var cheerio = require('cheerio');

var url = "https://www.netflix.com/Login";

request(url,body) {
    if (!error && response.statusCode == 200) {
        var $= cheerio.load(body);
        var authCode = $("#login-form > input").attr("value");
        request.post({url: url,form: {
                "email": "email@gmail.com","password": "password","authURL": authCode,"RememberMe": "on"
            },headers:{
                'User-Agent': "NodeScrape"
            }
        },body){
            var cookies = response.headers['set-cookie'];
            request({url: "https://www.netflix.com/WiViewingActivity",headers: {'Cookie': cookies,'User-Agent': "NodeScrape"}},function(error,body){
                var $= cheerio.load(body);
                console.log($(".seriestitle").eq(0).text());
            });
        });
    }
})

猜你在找的Node.js相关文章