nodeJS使用javascript请求包加载

时间:2017-04-10 18:29:43

标签: javascript node.js request

我正在尝试使用request package获取Instagram个人资料 但由于Instagram正在通过javascript(reactJS)加载内容,因此缺少许多信息:/

您是否知道如何申请该页面,等待5秒后再下载!

1 个答案:

答案 0 :(得分:1)

使用无头浏览器,例如PhantomJS。

可以使用用于与Node.JS集成的模块:https://github.com/amir20/phantomjs-node

var phantom = require('phantom');
phantom.create().then(function(ph) {
    ph.createPage().then(function(page) {
         page.open('https://www.instagram.com/collectnet/').then(function(status) {
            console.log(status);
            page.property('content').then(function(content) {
                console.log(content);
                page.close();
                ph.exit();
            });
        });
    });
});

很难在网页上检测Javascript执行的结束,但是如果您知道需要等待加载的内容,那么您可以检查该特定元素的存在。这里展示了一个示例:https://stackoverflow.com/a/38149362/2128499