使用NodeJS和Cheerio进行Web抓取

时间:2017-06-28 11:07:25

标签: node.js web-scraping request cheerio

我正在尝试让我的网络剪贴簿从网站(https://hypebeast.com/footwear)中提取每篇文章的标题,但我似乎无法得到任何除了未定义或一些非常混乱的错误。我究竟做错了什么?这是我的代码片段:

        const request = require('request');
        const cheerio = require('cheerio');

        var titles = [];

        request('https://hypebeast.com/footwear', function(err, resp, body) {
            var $ = cheerio.load(body);
            $('.title').each(function(){
                var title = $(this).attr('span');
                titles.push(title);
            });

            console.log(titles);

        });

这是错误: http://imgur.com/chB9v6h

1 个答案:

答案 0 :(得分:0)

这不是Cheerio阅读问题。 我打开网站,看到DOM结构不同。 所以要找到一些你必须使用脚本的东西:

const request = require('request');
        const cheerio = require('cheerio');

        var titles = [];

        request('https://hypebeast.com/footwear', function(err, resp, body) {
            var $ = cheerio.load(body);
            $('.title').each(function(){
                var title = $(this).children("h2").children('span').text();
                titles.push(title);
            });

            console.log(titles);

        });