javascript - Mengapa saya tidak boleh merangkak halaman jika saya menggunakan phantomjs untuk merangkak jika terdapat banyak data pada halaman?
習慣沉默
習慣沉默 2017-07-05 10:50:52
0
1
910

Saya ingin merangkak halaman carian Taobao Ia adalah halaman yang dijana oleh pemaparan js, jadi saya memilih untuk merangkak dengan phantomjs. Tetapi masalah berlaku semasa proses pengambilan. Apabila terdapat lebih daripada dua hasil carian, tiada data boleh diperolehi. Tetapi tangkapan skrin menunjukkan bahawa data dimuatkan secara normal. Saya tidak tahu sama ada Taobao yang mengenakan sekatan atau ada masalah dengan kod saya. Tolong bantu saya menyelesaikannya.

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); 
            
         };
});
習慣沉默
習慣沉默

membalas semua(1)
刘奇
loadImages: false

?Tanda soal hitam

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan