Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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 Puppeter Web Scraper返回空数据_Javascript_Node.js_Puppeteer - Fatal编程技术网

Javascript Puppeter Web Scraper返回空数据

Javascript Puppeter Web Scraper返回空数据,javascript,node.js,puppeteer,Javascript,Node.js,Puppeteer,我正在用Puppeter编写一个程序,该程序使用以下代码从youtube播放列表中获取歌曲标题和艺术家姓名: wait page.goto(url); 让歌曲=等待页面。评估(()=>{ 让结果=[]; 让歌曲名,歌手; 让elements=document.querySelectorAll(“#meta”); elements.forEach(el=>{ songTitle=el.querySelector('h4'); 歌曲艺术家=el.querySelector(“#署名”); 如果(歌

我正在用Puppeter编写一个程序,该程序使用以下代码从youtube播放列表中获取歌曲标题和艺术家姓名:

wait page.goto(url);
让歌曲=等待页面。评估(()=>{
让结果=[];
让歌曲名,歌手;
让elements=document.querySelectorAll(“#meta”);
elements.forEach(el=>{
songTitle=el.querySelector('h4');
歌曲艺术家=el.querySelector(“#署名”);
如果(歌曲名称){
结果:推({
标题:songTitle.textContent,
艺术家:songArtist.textContent
});
}
});
返回结果;
});
songs.forEach(歌曲=>{
song.title=song.title.trim();
song.artist=song.artist.trim();
});
歌曲。排序((a,b)=>a.artist>b.artist?1:-1);

控制台。桌子(歌曲)网络连接的质量是一个很好的猜测

在开始抓取之前,需要等待DOM中加载的元素。如果您的网络速度非常快:您将获得成功,否则它将无法收集所需的内容。您可以使用来确保可以开始刮削

wait page.goto(url);
wait page.waitForSelector(“#meta”);
让歌曲=等待页面。评估(()=>{
...

网络连接的质量是一个很好的猜测

您需要等待加载到DOM中的元素,然后才能开始抓取。如果您的网络速度非常快:您将获得成功,否则它将无法收集所需的内容。您可以使用来确保可以开始抓取

wait page.goto(url);
wait page.waitForSelector(“#meta”);
让歌曲=等待页面。评估(()=>{
...