|
|
Возраст: 50 C нами с 27.01.2005 Репутация: 129.4
|
|
Как говорил Линус, крутые перцы не делают бекап. Они кладут исходники на ftp, и весь остальной свет миррорит их у себя :-) Мне до Торвальдса далеко, конечно же, но вариант размещения сырцов на форуме кажется мне интересным.
Если кто случайно читает Adult, я разместил там статистику по торрентам, опубликованным в мае. Она собиралась следующим скриптом:
#!/usr/bin/perl -w
# Reading all Adult forum
use LWP;
use cyrillic qw/win2koi/;
$MAX_TOPIC = 0; ## Use for only new topics
my $br = LWP::UserAgent->new;
$br->cookie_jar({});
my $r = $br->post("http://pt.unsorted.ru/login.php",
[ "username" => "Poupkine",
"password" => "perl-foreva",
"redirect" => "",
"autologin" => "on",
"login" => "Вход",
"mainoption" => "" ] );
if($r -> status_line =~ /^302 /) {
$r = $br->get("http://pt.unsorted.ru/viewforum.php?f=11&topicdays=0&all=on");
parse_forum($r -> content);
} else {
print "Unable to login\n";
}
sub parse_forum {
$_ = win2koi(shift);
foreach(split /^</b>(.*)</a></);
$topic=$1 if(/<a href="viewtopic.php\?t=(\d+)\" class="gen\">/);
if(/icon_latest_reply.gif/) {
if($size =~ /([\d\.]+) GB/) {
$size = $1 * 1024;
}
$size =~ s/ MB//;
next if($topic eq ".");
next if($topic </td>get("http://pt.unsorted.ru/viewtopic.php?t=$top");
die if( ! $r->is_success);
$_ = $r -> content;
$rez = ""; $t=0;
foreach(split /\n/ ) {
$t = 2 if(/><b>яЙЮВЮКХ:</b></Скачали>\[ <b>(\d+)</b> \]</41>new;
$br->cookie_jar({});
my $r = $br->post("http://pt.unsorted.ru/login.php",
[ "username" => "Poupkine",
"password" => "perl-foreva",
"redirect" => "",
"autologin" => "on",
"login" => "Вход",
"mainoption" => "" ] );
($d, $m, $y) = (localtime)[3, 4, 5];
$date = sprintf("%04d%02d%02d",$y+1900, $m+1, $d);
if($r -> status_line =~ /^302 /) {
$r = $br->get("http://pt.unsorted.ru/groupcp.php?g=77&all=on");
$_ = $r->content;
open(F, "> $date-users.txt") || die;
foreach(split /\n/) {
if(/viewprofile.*class=\"gen\">(.*)</a>/) {
print F win2koi($1),"\n";
}
}
close(F);
} else {
print "Unable to login\n";
} |
Важно: я ни разу не программист и не кодер, просто я страшно ленив, чтобы собирать такую статистику вручную. Код не является ни оптимальным, ни образцом кодирования, и вообще может содержать ошибки, за которые я ответственности не несу. Мне достаточно того, что с моей задачей он справляется, чему я и рад безмерно.
Добавлено спустя 24 минуты 41 секунду:
Нда. Не рассчитан явно движок на постинг перл-кода. Из него были распарсены куски http, поэтому получилось печальное месиво. Разбираться лень, если кому сильно надо, пишите в личку.
|
_____________________________ "Загнанную в угол крысу пристреливают"
|
|
|
|
|
|
|
|