Ich bin neu bei Node und möchte einen Crawler schreiben, um Sina Weibo-Kommentare zu crawlen, aber ich habe festgestellt, dass die Seite dynamisch von JS generiert wird und nicht mit dem http-Modul gecrawlt werden kann, also habe ich Phantomjs zum Crawlen verwendet (ich habe gehört, dass dies der Fall sein wird). langsamer sein, also habe ich es fast 15 Minuten lang ausgeführt, das ist zu langsam, ich weiß nicht, ob ich es falsch geschrieben habe), aber es funktioniert immer noch nicht. Gibt es eine Möglichkeit, Webseiten ähnlich wie bei Sina Weibo zu crawlen?
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(); });
自己写过微博的爬取,有两种思路
仔细看一下应该是有接口去获取相应数据的然后用正则去匹配
微博提供了开发者API接口的,虽然用着比较麻烦