IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
Парсер статистики XBT
kup
сообщение 5.10.2009, 12:22
Сообщение #1


Участник
**

Группа: Пользователи
Сообщений: 10
Регистрация: 17.8.2009
Пользователь №: 2 442



Хотел тут попробовать отпарсить статистику у XBT (host:2710/statistics), но не получилось. При попытке получить страницу выдаются кракозябры. Смены кодировок не помогают. Хотел узнать, реально ли вообще спарсить эту страницу?
Вот пример кода, чтоб увидеть кракозябры
Код
<?php
$file = file_get_contents ('http://ВАШ_ХОСТ:2710/statistics');
echo ($file);
?>


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
FreeM@N
сообщение 5.10.2009, 13:32
Сообщение #2


Активный участник
***

Группа: Админы
Сообщений: 660
Регистрация: 15.12.2008
Из: Москва
Пользователь №: 15



Выключите GZIP сжатие страниц добавив в настройки:
Код
gzip_debug = 0
gzip_scrape = 0


Парсер статистики на perl-е (сиды, пиры, торренты):
CODE
#!/usr/bin/perl

if (! eval "require LWP::UserAgent;")
{
$ret = "LWP::UserAgent not found";
}

if ( exists $ARGV[0]) {
if ($ret)
{
print "no ($ret)\n";
exit 1;
}

my $ua = LWP::UserAgent->new(timeout => 5);

my $response = $ua->request(HTTP::Request->new('GET',$ARGV[0]));
my $content = $response->content;

my $seeders = -1;
my $peers = -1;
my $torrents = -1;

if ($content =~ m/seeders<td[^>].*?>(\d+)<tr><td>peers<td[^>].*?>(\d+)<tr><td>torrents<td[^>].*?>(\d+)/i) {
$seeders = $1;
$peers = $2;
$torrents = $3;
}

print "seeders:$seeders peers:$peers torrents:$torrents";
print "\n";
}


Парсер личеров:
CODE
#!/usr/bin/perl

if (! eval "require LWP::UserAgent;")
{
$ret = "LWP::UserAgent not found";
}

if ( exists $ARGV[0]) {
if ($ret)
{
print "no ($ret)\n";
exit 1;
}

my $ua = LWP::UserAgent->new(timeout => 5);

my $response = $ua->request(HTTP::Request->new('GET',$ARGV[0]));
my $content = $response->content;

my $leechers = -1;

if ($content =~ m/leechers<td[^>].*?>(\d+)<tr>/i) {
$leechers = $1;
}

print "leechers:$leechers";
print "\n";
}


Это можно было объединить но мне для графиков нужна была именно раздельная стата...
Для PHP юзабельны будут регулярки.


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
kup
сообщение 5.10.2009, 13:47
Сообщение #3


Участник
**

Группа: Пользователи
Сообщений: 10
Регистрация: 17.8.2009
Пользователь №: 2 442



Было бы конечно хорошо обойтись без выключения, т.к. доступа в серверную часть нет sad.gif Но если по-другому никак, то попробуем сделать. Спасибо.


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
FreeM@N
сообщение 5.10.2009, 15:43
Сообщение #4


Активный участник
***

Группа: Админы
Сообщений: 660
Регистрация: 15.12.2008
Из: Москва
Пользователь №: 15



Зачем выключать? XBTT периодически перечитывает файл конфигурации и применяет изменения без перезапуска.


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
kup
сообщение 5.10.2009, 16:43
Сообщение #5


Участник
**

Группа: Пользователи
Сообщений: 10
Регистрация: 17.8.2009
Пользователь №: 2 442



Не, я имею ввиду gzip smile.gif Сейчас админ машины в отпуске, а у меня к ней доступа нет...вот и хотелось бы сделать своими силами.


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
FreeM@N
сообщение 5.10.2009, 17:20
Сообщение #6


Активный участник
***

Группа: Админы
Сообщений: 660
Регистрация: 15.12.2008
Из: Москва
Пользователь №: 15



ну разожмите ответ средствами PHP тогда.


--------------------
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия службы мониторинга серверов Сейчас: 22.5.2017, 18:23
Rambler's Top100