Парсер статистики XBT |
Здравствуйте, гость ( Вход | Регистрация )
Парсер статистики XBT |
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); ?> -------------------- |
|
|
5.10.2009, 13:32
Сообщение
#2
|
|
Активный участник Группа: Главные Админы Сообщений: 661 Регистрация: 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 юзабельны будут регулярки. -------------------- |
|
|
5.10.2009, 13:47
Сообщение
#3
|
|
Участник Группа: Пользователи Сообщений: 10 Регистрация: 17.8.2009 Пользователь №: 2 442 |
Было бы конечно хорошо обойтись без выключения, т.к. доступа в серверную часть нет Но если по-другому никак, то попробуем сделать. Спасибо.
-------------------- |
|
|
5.10.2009, 15:43
Сообщение
#4
|
|
Активный участник Группа: Главные Админы Сообщений: 661 Регистрация: 15.12.2008 Из: Москва Пользователь №: 15 |
Зачем выключать? XBTT периодически перечитывает файл конфигурации и применяет изменения без перезапуска.
-------------------- |
|
|
5.10.2009, 16:43
Сообщение
#5
|
|
Участник Группа: Пользователи Сообщений: 10 Регистрация: 17.8.2009 Пользователь №: 2 442 |
Не, я имею ввиду gzip Сейчас админ машины в отпуске, а у меня к ней доступа нет...вот и хотелось бы сделать своими силами.
-------------------- |
|
|
5.10.2009, 17:20
Сообщение
#6
|
|
Активный участник Группа: Главные Админы Сообщений: 661 Регистрация: 15.12.2008 Из: Москва Пользователь №: 15 |
ну разожмите ответ средствами PHP тогда.
-------------------- |
|
|
Текстовая версия | Сейчас: 1.11.2024, 1:52 |