我应该如何解析和使用网站数据?我正在使用节点js

How should I go about parsing and using website data? I am using node js

我正在使用节点 js 创建一个从 r6.tracker.network 获取统计信息的机器人,但是当我将它加载到数据中时,数据不会显示,这与我将 'www.google.com' 作为主机时不同。我真的不知道从这里去哪里。我正在尝试使用几种不同的调试方法,但我还没有找到任何东西。没有输出。

function getWebpage(parameter){
const pathuser = '/profile/pc/' + parameter;
var http = require('http');

var options = {
    host: 'r6.tracker.network',
    path: '/'
}
var request = http.request(options, function (res) {
    
    var data = '';
    res.on('data', function (chunk) {
        data += chunk;
    });
    res.on('end', function () {
        console.log(data);
    });
});
request.on('error', function (e) {
    console.log(e.message);
});
request.end();

}

他们将您重定向到他们网站的 https 版本。

这里的关键是添加这个日志:

console.log(res.statusCode);
console.log(res.headers.location);

当你这样做时,你会看到:

301
https://r6.tracker.network/

换句话说,他们希望您使用他们网站的 https 版本,并且他们正在重定向您这样做。您不会从 http URL 获取网页内容。你必须使用 https。

编码要点在这里:

  1. 始终查看 http 状态,只有在收到 2xx 响应时才正常进行。
  2. 为 3xx 重定向响应做好准备。

仅供参考,如果您使用更现代的库,例如 got() or any of the other libraries listed here,它们都会自动为您遵循重定向,它们也会自动为您收集完整的响应。而且,他们使用更现代的基于承诺的异步编程方法。我真的建议您为出站 http 请求选择其中一个库。