Nyx*_*nyx 5 javascript screen-scraping web-scraping phantomjs casperjs
是否可以检查/记录每次运行PhantomJs/CasperJS时传输的数据量?
Phantom/Casper的每个实例都有一个instance_id分配给它(通过旋转实例的PHP函数).运行完成后,传输的数据量instance_id必须通过生成实例的PHP函数插入MySQL数据库.这样就可以记录各个phantomjs运行的带宽利用率.
可以运行许多幻像/ casper实例,每个实例持续一两分钟.
尝试捕获数据时最简单、最准确的方法是使集电极和发射极尽可能靠近。在这种情况下,如果 phantomjs 能够捕获您需要的数据并将其发送回 PHP 函数以将其与 instance_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();
});
Run Code Online (Sandbox Code Playgroud)
这会捕获检索到的所有资源的大小,将它们相加,并将结果输出到 PHP 代码可以使用的标准输出。这不包括标头或任何 POST 活动的大小。根据您的应用程序,这可能就足够了。如果没有,那么希望这能为您提供一个良好的起点。
| 归档时间: |
|
| 查看次数: |
686 次 |
| 最近记录: |