Javascript Puppeter Web Scraper返回空数据
我正在用Puppeter编写一个程序,该程序使用以下代码从youtube播放列表中获取歌曲标题和艺术家姓名: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(“#署名”); 如果(歌
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”);
让歌曲=等待页面。评估(()=>{
...