zoukankan      html  css  js  c++  java
  • phantomjs 截取twitter的网页(动态生成的页面)

    // This example shows how to render pages that perform AJAX calls
    // upon page load.
    //
    // Instead of waiting a fixed amount of time before doing the render,
    // we are keeping track of every resource that is loaded.
    //
    // Once all resources are loaded, we wait a small amount of time
    // (resourceWait) in case these resources load other resources.
    //
    // The page is rendered after a maximum amount of time (maxRenderTime)
    // or if no new resources are loaded.

    //page.onResourceRequested = function(requestData, networkRequest) {} //page的所要加载的资源在发起请求时,都可以回调该函数
    //page.onResourceReceived = function(response) {} //page的所要加载的资源在加载过程中,每加载一个相关资源,都会在此先做出响应,它相当于


    var fs = require("fs");
    var resourceWait = 300,
    maxRenderWait = 10000,
    url='https://twitter.com/CXA10';

    var page = require('webpage').create(),
    count = 0,
    forcedRenderTimeout,
    renderTimeout;

    page.viewportSize = { 1280, height : 1024 };

    function doRender() {
    page.render('twitter.png');
    fs.write('1.html', page.content, 'w');
    phantom.exit();
    }

    page.onResourceRequested = function (req) {
    count += 1;
    console.log('> ' + req.id + ' - ' + req.url);
    clearTimeout(renderTimeout);
    };

    page.onResourceReceived = function (res) {
    if (!res.stage || res.stage === 'end') {
    count -= 1;
    console.log(res.id + ' ' + res.status + ' - ' + res.url);
    if (count === 0) {
    renderTimeout = setTimeout(doRender, resourceWait);
    }
    }
    };

    page.open(url, function (status) {
    if (status !== "success") {
    console.log('Unable to load url');
    // phantom.exit();
    } else {
    forcedRenderTimeout = setTimeout(function () {
    console.log(count);
    doRender();
    }, maxRenderWait);
    }
    });

  • 相关阅读:
    自动删除几天前的备份集文件脚本 for windows
    Oracle备份脚本(数据泵)-Windows平台
    机器学习常用python包
    AI summary
    git 设置
    mystar01 nodejs MVC gulp 项目搭建
    electron搭建开发环境
    AI ubantu 环境安装
    xtrabackup原理
    xtrabackup 安装
  • 原文地址:https://www.cnblogs.com/c-x-a/p/6349598.html
Copyright © 2011-2022 走看看