Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Парсер статистики XBT
Re-Tracker | Система локальных ретрекеров | Ретрекер > РеТрекер > Помощь по ретрекеру (FAQ)
kup
Хотел тут попробовать отпарсить статистику у XBT (host:2710/statistics), но не получилось. При попытке получить страницу выдаются кракозябры. Смены кодировок не помогают. Хотел узнать, реально ли вообще спарсить эту страницу?
Вот пример кода, чтоб увидеть кракозябры
Код
<?php
$file = file_get_contents ('http://ВАШ_ХОСТ:2710/statistics');
echo ($file);
?>
FreeM@N
Выключите 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
Было бы конечно хорошо обойтись без выключения, т.к. доступа в серверную часть нет sad.gif Но если по-другому никак, то попробуем сделать. Спасибо.
FreeM@N
Зачем выключать? XBTT периодически перечитывает файл конфигурации и применяет изменения без перезапуска.
kup
Не, я имею ввиду gzip smile.gif Сейчас админ машины в отпуске, а у меня к ней доступа нет...вот и хотелось бы сделать своими силами.
FreeM@N
ну разожмите ответ средствами PHP тогда.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2017 IPS, Inc.