Разбор Webalizer или / и AWstats HTML-файл - PullRequest
1 голос
/ 11 января 2012

У меня есть хостинг CPanel с несколькими поддоменами. Каждый отслеживает свою собственную статистику, используя AWstats.

Есть ли способ проанализировать HTML-таблицы, которые генерируются для определения используемой полосы пропускания?

Спасибо за все.

Ответы [ 2 ]

3 голосов
/ 18 августа 2017

Альтернативой чтению HTML напрямую является непосредственное использование файлов статистики, которые awstats использует для визуализации HTML. cpanel должен хранить их где-нибудь доступными (на моем хостинге они находятся в tmp /). Это простой текстовый файл с хорошо обозначенными разделами, которые легко найти, и внутри раздела находится разделенный пробелами CSV, представляющий таблицы. Эта страница о разборе файлов с помощью PHP является хорошим местом для информации о том, как сделать это с помощью кода. Я уверен, что с небольшим количеством ноу-хау в Linux вы можете использовать sed и awk, чтобы соответственно нарезать файл и возвращать столбцы, необходимые для сбора необходимой вам статистики из этих сводок.

0 голосов
/ 27 декабря 2012

Используйте запрос DOMXPath для получения текста каждой строки в столбце «КБ 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);

Ссылки

...