如果您使用浏览器访问https://www.instagram.com/taylorswift/?__a=1
,则会得到JSON。
如果我运行curl -o output.json https://www.instagram.com/taylorswift/?__a=1
,则会得到JSON。
但是,当我尝试使用节点中的请求进行下载时,像这样:
var headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0',
'Content-Type' : 'application/x-www-form-urlencoded',
//'qs': {'__a': 1},
};
function abc (response) {
console.log('redirect',response.headers.location,response.request.href)
return true;
};
request({ url: 'https://www.instagram.com/taylorswift/?__a=1', headers: headers, followRedirect: abc}, function (err, response, body) {
console.log('error',err)
console.log('redirecting to ',response.request.uri.href)
console.log('body',body.length)
fs.writeFileSync('output.txt',body)
});
我得到了instagram加载页面,这只是一堆无用/通用的html和javascript。
此输出:
0 | www |重定向https://www.instagram.com/accounts/login/ https://www.instagram.com/taylorswift/?__a=1
0 | www |错误为空
0 | www |重定向到https://www.instagram.com/accounts/login/
0 | www |身体37818
我只想获取我的订户数。
您知道请求为何给我不同的结果吗?