javascript中的Web爬行错误:错误:connect-ETIMEDOUT
嗨,我有一个错误,我在学习如何使用javascript进行web爬网的教程。。但是当我执行它的时候,我得到了这个错误javascript中的Web爬行错误:错误:connect-ETIMEDOUT,javascript,node.js,npm,web-crawler,Javascript,Node.js,Npm,Web Crawler,嗨,我有一个错误,我在学习如何使用javascript进行web爬网的教程。。但是当我执行它的时候,我得到了这个错误 Visiting page https://arstechnica.com/ testcrawl.js:6 Error: Error: connect ETIMEDOUT 50.31.169.131:443
Visiting page https://arstechnica.com/
testcrawl.js:6
Error: Error: connect ETIMEDOUT 50.31.169.131:443
testcrawl.js:9
TypeError: Cannot read property 'statusCode' of undefined
testcrawl.js:12
at Request._callback (c:\Users\nab\practise\testcrawl.js:12:43)
at self.callback (c:\Users\nab\node_modules\request\request.js:185:22)
at emitOne (events.js:116:13)
at Request.emit (events.js:211:7)
at Request.onRequestError (c:\Users\nab\node_modules\request\request.js:877:8)
at emitOne (events.js:116:13)
at ClientRequest.emit (events.js:211:7)
at TLSSocket.socketErrorListener (_http_client.js:387:9)
at emitOne (events.js:116:13)
at TLSSocket.emit (events.js:211:7)
这些是我正在运行的脚本
var request = require('request');
var cheerio = require('cheerio');
var URL = require('url-parse');
var pageToVisit = "https://arstechnica.com/";
console.log("Visiting page " + pageToVisit);
request(pageToVisit, function(error, response, body) {
if(error) {
console.log("Error: " + error);
}
// Check status code (200 is HTTP OK)
console.log("Status code: " + response.statusCode);
if(response.statusCode === 200) {
// Parse the document body
var $ = cheerio.load(body);
console.log("Page title: " + $('title').text());
}
});
为什么会出现此错误以及如何解决此问题?请尝试以下操作并告知结果
var pageToVisit = "https://arstechnica.com/";
console.log("Visiting page " + pageToVisit);
request({url:pageToVisit,timeout:20000}, function(error, response, body) {
if(error) {
console.log("Error: " + error);
}
// Check status code (200 is HTTP OK)
console.log("Status code: " + response.statusCode);
if(response.statusCode === 200) {
// Parse the document body
var $ = cheerio.load(body);
console.log("Page title: " + $('title').text());
}
});
请注意,我添加了一个
timeout
来查看它的运行情况。这个网站:https://arstechnica.com/
从浏览器打开?@InusSaha是的,我正在从我的浏览器打开它。您可以尝试设置超时
选项并查看吗?像请求({url:pageToVisit,timeout:20000},函数(error,response,body){
@InusSaha你是说像这个请求({url:,timeout:20000},函数(error,response,body){console.log('error:',error');console.log('statusCode:',response&&response.statusCode);}console.log('body:'body:',body);});@nabsrim您的代码对我有效。嘿,我认为问题与代理有关…我尝试使用自己的数据进行连接,效果很好…谢谢您的帮助