2

我有几个子域的 CPanel 托管。每个人都使用 AWstats 跟踪自己的统计数据。

有没有办法解析生成的 HTML 表以获取使用的带宽?

谢谢大家。

4

2 回答 2

3

直接读取 HTML 的另一种方法是直接使用 awstats 用于呈现 HTML 的 stats 文件。cpanel 应该将它们存储在可访问的地方(在我的主机上它们位于 tmp/ 中)。这是一个简单的文本文件,带有易于找到的标记清晰的部分,并且在该部分中是代表表格的空格分隔的 CSV。这个关于使用 PHP 解析文件的页面是了解如何使用代码进行解析的好地方。我敢肯定,通过一些 linux 专业知识,您可以使用 sed 和 awk 分别切分文件并返回所需的列,以便从这些摘要中收集所需的统计信息。

于 2017-08-18T17:59:55.523 回答
0

使用DOMXPath查询获取“kB F”列中每一行的文本,例如第一行如下:

$doc = new DOMDocument;

//Path to Webalizer or AWStats file
$doc->Load('stats.html');

$xpath = new DOMXPath($doc);

// Get the first bandwidth record in the table
$query = "//tr[7]/td[7]/font/text()";

$bandwidth1 = $xpath->query($query);

参考

于 2012-12-27T18:39:18.697 回答