Javascript 检查/记录PhantomJS/CasperJS使用了多少带宽

Javascript 检查/记录PhantomJS/CasperJS使用了多少带宽,javascript,screen-scraping,web-scraping,phantomjs,casperjs,Javascript,Screen Scraping,Web Scraping,Phantomjs,Casperjs,是否可以检查/记录每次运行PhantomJs/CasperJS期间传输了多少数据 Phantom/Casper的每个实例都有一个instance\u id分配给它(通过启动实例的PHP函数)。运行完成后,传输的数据量和实例id必须插入MySQL数据库,可能是通过生成实例的PHP函数。这样就可以记录各个phantomjs运行的带宽利用率 可以有许多phantom/casper实例在运行,每个实例持续一两分钟。尝试捕获数据时,最简单、最准确的方法是让收集器和发射器尽可能靠近。在这种情况下,如果pha

是否可以检查/记录每次运行PhantomJs/CasperJS期间传输了多少数据

Phantom/Casper的每个实例都有一个
instance\u id
分配给它(通过启动实例的PHP函数)。运行完成后,传输的数据量和
实例id
必须插入MySQL数据库,可能是通过生成实例的PHP函数。这样就可以记录各个phantomjs运行的带宽利用率


可以有许多phantom/casper实例在运行,每个实例持续一两分钟。

尝试捕获数据时,最简单、最准确的方法是让收集器和发射器尽可能靠近。在这种情况下,如果phantomjs能够捕获您需要的数据并将其发送回PHP函数,将其与实例_id关联并进行数据库交互,那将是一个理想的选择。事实证明它可以(至少部分地)

以下是一种方法:

var page = require('webpage').create();
var bytesReceived = 0;

page.onResourceReceived = function (res) {
    if (res.bodySize) {
        bytesReceived += res.bodySize;
    }
};

page.open("http://www.google.com", function (status) {
    console.log(bytesReceived);
    phantom.exit();
});

这将捕获检索到的所有资源的大小,将它们相加,并将结果输出到标准输出,您的PHP代码可以在其中使用它。这不包括标题或任何POST活动的大小。根据您的应用程序,这可能就足够了。如果没有,那么希望这能为您提供一个良好的起点。

似乎很有成效:这不能也不能准确地总结传输的大小,因为gzip压缩不被计算在内。