Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的Web爬行错误:错误:connect-ETIMEDOUT_Javascript_Node.js_Npm_Web Crawler - Fatal编程技术网

javascript中的Web爬行错误:错误:connect-ETIMEDOUT

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

嗨,我有一个错误,我在学习如何使用javascript进行web爬网的教程。。但是当我执行它的时候,我得到了这个错误

   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您的代码对我有效。嘿,我认为问题与代理有关…我尝试使用自己的数据进行连接,效果很好…谢谢您的帮助