node.js - Utilisez Superagent pour capturer les caractères tronqués du site Web UTF-8
天蓬老师
天蓬老师 2017-07-06 10:35:50
0
2
1307

J'ai utilisé superagent + cheerio pour explorer les produits *Dong, mais les en-têtes de réponse chinois tronqués renvoyés sont les suivants
Il est compressé par gzip, mais il va de soi que superagent le décompressera par défaut

*Adresse du produit Est https://item.jd.com/5025518.html

J'ai pris le titre du produit et les résultats sont les suivants

Le code de base est le suivant :

var url = 'https://list.jd.com/list.html?cat=670,671,672' //京东电脑
var totalData = [] // 存储总数据
superagent.get(url).end(function (err, res) {
    if (err) {
        return console.error(err)
    }
    var topicUrls = [];  // 页面里面的所有url
    var $ = cheerio.load(res.text) // 拿到页面
    $('#plist .gl-item').each(function (i, e) {
        $e = $(e)
        var href = 'https:' + $e.find('.p-img >a').attr('href') // 拿到所有url
        topicUrls.push(href)
    })

    var ep = new eventproxy();//
    //异步调用结束后,执行某些操作
    ep.after('topic_html', topicUrls.length, function (topics) { //接收res.text
        topics = topics.map(function (topicHtml) {
            var $ = cheerio.load(topicHtml, {decodeEntities: false});
            return ({
                title: $('.sku-name').text().trim()
            });
        });
        totalData.push(topics)
        console.log(totalData);
    })
    topicUrls.forEach(function (e) {
        superagent.get(e).end(function (err, res) {
            ep.emit('topic_html', res.text);
        })
    })


})
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous(2)
phpcn_u1582

Ce n'est pas du code tronqué. S'il s'agit d'un code tronqué, tout est foiré. Cela devrait être un problème avec votre encodage.

代言

J'ai directement utilisé Postman pour demander votre adresse, et votre situation n'est pas apparue, j'ai donc jugé qu'il s'agissait d'un problème avec votre IDE ou votre éditeur de texte, et j'ai défini le format sur utf-8.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!