搜索

首页  >  问答  >  正文

javascript - node爬取微博

刚接触node,想写个爬虫,爬取新浪微博评论,但是发现页面是由JS动态生成的,用http模块爬取不到,然后用phantomjs爬取,(听说会比较慢,运行了近15分钟,这也太慢了,不知是否写错),还是不行,问一下有什么办法能够爬取类似于新浪微博的网页吗?

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();
});
仅有的幸福仅有的幸福2702 天前972

全部回复(1)我来回复

  • 扔个三星炸死你

    扔个三星炸死你2017-06-30 10:02:08

    自己写过微博的爬取,有两种思路

    1. 仔细看一下应该是有接口去获取相应数据的然后用正则去匹配

    2. 微博提供了开发者API接口的,虽然用着比较麻烦

    回复
    0
  • 取消回复