不能用cheerio获取图像src

时间:2018-12-10 17:48:16

标签: node.js cheerio

我正在尝试用nodejs和cheerio拖走一个刮板。 到目前为止,我已经知道了:

class ScrapperService {

    static getDwelling(url) {
        const dwelling = {
            images: []
        };
        return new Promise((resolve, reject) => {
            request(`https://www.zonaprop.com.ar/propiedades/${url}`, (err, resp, html) => {
                if(err || resp.statusCode === 404) {
                    return reject(err);
                }
                const $ = cheerio.load(html);
                pe = $('.price-operation', '#article-container').text();
                dwelling.price = $('.price-items', '#article-container').text();
                dwelling.description = $('.description-container', '#article-container').html();
                //getting images here
                $('#tab-foto-flickity').find('img').each(() => {dwelling.images.push(this);});
                resolve(dwelling);
            });
        });
    }
}

module.exports = ScrapperService;

问题是我在图像链接中插入了37个null,我尝试了不同的标签,但没有运气。任何想法代码在哪里失败 Code to scrap

1 个答案:

答案 0 :(得分:0)

获得空值的原因是由于在() =>{}回调中使用了箭头功能each。 箭头函数没有没有this。尝试使用经典的匿名函数。

请参阅:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions