Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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/37.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 在完成加载/重定向页面后将其刮除_Javascript_Node.js_Request_Cheerio - Fatal编程技术网

Javascript 在完成加载/重定向页面后将其刮除

Javascript 在完成加载/重定向页面后将其刮除,javascript,node.js,request,cheerio,Javascript,Node.js,Request,Cheerio,有关页面: http://watch2gether.com/go#<link> 但是,在页面实际加载并重定向到最终页面之前,它会返回每个href属性的值,因此它实际上是在刮取,而不是复制 由于第二个页面仅在第一个页面被请求后加载,我如何使我的代码刮取第二个页面而不是第一个页面 由于第二个页面仅在第一个页面被请求后加载,我如何使我的代码刮取第二个页面而不是第一个页面 我没有完全理解你问题的这一部分。然而,我认为您正在经历的是javascript的异步特性 当你这样做的时候 $(链接)

有关页面:

http://watch2gether.com/go#<link>
但是,在页面实际加载并重定向到最终页面之前,它会返回每个href属性的值,因此它实际上是在刮取,而不是复制

由于第二个页面仅在第一个页面被请求后加载,我如何使我的代码刮取第二个页面而不是第一个页面

由于第二个页面仅在第一个页面被请求后加载,我如何使我的代码刮取第二个页面而不是第一个页面

我没有完全理解你问题的这一部分。然而,我认为您正在经历的是javascript的异步特性

当你这样做的时候

$(链接)。每个(功能(i,链接){ //您的附加代码在这里 })

javascript的异步特性根据$('links')上的CSS选择器获取所有链接。加载所有链接后,它开始执行其余代码,并相应地重定向/执行操作

请检查javascript的事件循环或异步性质

var searchTerm = 'https://www.youtube.com/watch?v=link';
var url = 'https://www.watch2gether.com/go#' + searchTerm;

request(url, function(err, resp, body){
  $ = cheerio.load(body);
  links = $('link'); //use your CSS selector here
  $(links).each(function(i, link){
    sleep.sleep(2);
    console.log($(link).text() + ':\n  ' + $(link).attr('href'));
  });
});