Saya baru mengenali nod dan ingin menulis perangkak untuk merangkak ulasan Sina Weibo, tetapi saya mendapati halaman itu dijana secara dinamik oleh JS dan tidak boleh dirangkak dengan modul http, jadi saya menggunakan phantomjs untuk merangkaknya (saya dengar ia akan menjadi lebih perlahan, jadi saya menjalankannya Hampir 15 minit, ini terlalu perlahan, saya tidak tahu jika saya menulisnya salah), tetapi ia masih tidak berfungsi. Adakah terdapat sebarang cara untuk merangkak halaman web yang serupa dengan Sina Weibo?
let page=require("webpage").create();
let url="http://weibo.com/1713926427/Etq2WnSiR?filter=hot&root_comment_id=0&type=comment";
/*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,(status)=>{
console.log("Status:"+status);
if(status=="success"){
let val = page.evaluate(()=>{
var list_box=document.querySelector(".list_box");
console.log(list_box);
return list_box
});
console.log(val)
}else{
console.log("failed")
}
phantom.exit();
});
Saya telah menulis tentang merangkak Weibo. Terdapat dua idea
Jika anda melihat dengan teliti, mesti ada antara muka untuk mendapatkan data yang sepadan dan kemudian gunakan ungkapan biasa untuk memadankannya
Weibo menyediakan antara muka API pembangun, walaupun ia lebih menyusahkan untuk digunakan