Tuesday, 25 April 2017

Empty array when trying to scrape YouTube main page with Node.js

so I'm playing around with request and cheerio npm's and I can't seem to find a solution, why does it keep giving me empty arrays. I used same code when I scraped reddit and it worked like a charm, but when I use it on YouTube or any other page it doesn't work.

request('https://www.youtube.com/', function(err,resp,body) {
    if(!err && resp.statusCode == 200) {
        var $ = cheerio.load(body);
        $('a.yt-simple-endpoint style-scope ytd-grid-video-renderer', 'primary').each(function() {
            var url = $(this);
            urls.push(url);
    });

And this is my reddit code (works fine)

request('http://www.reddit.com/', function(err,resp,body) {
    if(!err && resp.statusCode == 200) {
        var $ = cheerio.load(body);
        $('a.title', '#siteTable').each(function() {
            var url = $(this).attr('href');
            if(url.indexOf('imgur.com')!= -1) {
                urls.push(url);
            }
        });



via Petras Vilkelis

No comments:

Post a Comment