Maison  >  Questions et réponses  >  le corps du texte

javascript - Pourquoi ne puis-je pas explorer une page si elle contient beaucoup de données lorsque j'utilise PhantomJS?

Je souhaite explorer une page de recherche Taobao. C'est une page générée par le rendu js, j'ai donc choisi de l'explorer avec phantomjs. Mais un problème est survenu lors du processus de récupération. Lorsqu'il y a plus de deux résultats de recherche, aucune donnée ne peut être obtenue. Mais la capture d'écran montre que les données se chargent normalement. Je ne sais pas si c'est Taobao qui impose des restrictions ou s'il y a un problème avec mon code. Aidez-moi à le résoudre.

var url = "https://ai.m.taobao.com/search.html?q=%E5%90%8D%E4%BA%BA%E7%91%9E%E8%A3%B32017%E5%A4%8F%E8%A3%85%E6%96%B0%E6%AC%BE%E5%A5%B3%E8%A3%85%E8%A3%99%E5%AD%90%E5%8F%8A%E8%86%9D%E9%95%BF%E6%AC%BE%E4%BF%AE%E8%BA%AB%E5%81%87%E4%B8%A4%E4%BB%B6%E5%8D%B0%E8%8A%B1%E9%9B%AA%E7%BA%BA%E8%BF%9E%E8%A1%A3%E8%A3%99&spm=a311n.7676424.1000.1&prepvid=201_10.184.72.34_159920160034_1496243285841&pid=mm_33231688_7050284_23466709&env&unid&hidebar&isout&clk1&smart&rb";
var page =require('webpage').create();
var fs = require('fs');
page.settings = {
  javascriptEnabled: true,
  loadImages: false,
  webSecurityEnabled: false,
  userAgent: 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 LBBROWSER'
};
page.open(url,function (status) {
    if (status !== 'success') {
        console.log('Unable to access thewebsite');
    } else {
             window.setTimeout(function () {
                page.render('example1.png');
                var val = page.evaluate(function(){
                    var data = document.querySelectorAll('p.item-thumbnail a.item-intro');
                    if ( data instanceof Array ) {  
                       return 1;
                        console.log(1)
                        for (var i = 0, len = data.length; i < len; i++) {  
                           console.log(data[i].innerHTML);  
                        }  
                    } else if ( data instanceof Object ) {  
                       var description = ""; 
                       for (var i in data) {  
                          description += i + " = " + data[i] + "\n";  
                      } 
                      return description;
                           // console.log(nextSibling(data).innerHTML);  
                    }  else {
                      return data;
                    } 
                });
                console.log('The register address:' + val);
                phantom.exit();
          }, 1000); 
            
         };
});
習慣沉默習慣沉默2663 Il y a quelques jours849

répondre à tous(1)je répondrai

  • 怪我咯

    怪我咯2017-07-05 10:52:52

    loadImages: false

    ?Point d'interrogation noir

    répondre
    0
  • Annulerrépondre