我是Node JS(v.10.9.0)的新手,并想制作一个简单的Web抓取工具,该工具可在此页面上获取球员的统计数据和排名。无论我无法在该网站上使用什么工具,我都尝试了多种请求方法,包括http.request和https.request,并且使每种方法都可以与'http://www.google.com'一起使用。但是,对此特定网站的每次尝试都会给我301错误或套接字挂起错误。 301错误给我的位置是相同的链接,但末尾带有“ /”,请求它会导致套接字挂起。我知道该站点在端口443上运行。某些站点是否只是阻止了节点js,为什么浏览器能够连接但不能连接此类东西?
请不要将我链接到我见过的所有其他线程,但它们都没有帮助
var request = require('request');
var options = {
method: "GET",
uri: 'https://www.smashboards.com',
rejectUnauthorized: false,
port: '443'
};
request(options, function (error, response, body) {
console.log('error:', error); // Print the error if one occurred
console.log('statusCode:'); // Print the response status code if a response was received
console.log('body:', body); // Print the HTML for the Google homepage.
});
错误:
error: { Error: socket hang up
at createHangUpError (_http_client.js:322:15)
at TLSSocket.socketOnEnd (_http_client.js:425:23)
at TLSSocket.emit (events.js:187:15)
at endReadableNT (_stream_readable.js:1085:12)
at process._tickCallback (internal/process/next_tick.js:63:19) code: 'ECONNRESET' }
编辑:
将此添加到我的选项对象中解决了我的问题
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
}
答案 0 :(得分:0)
在这里
我所做的只是添加:
nyc_taxi_data
对于我的选择对象,它运行良好。
新代码:
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
}
那12个小时以上我再也回不来了