Товарищщи скачивающие...

Обсуждаем сайт и форум.

Модератор: f0s

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Товарищщи скачивающие...

Непрочитанное сообщение Alex Keda » 2007-10-18 15:29:23

да я её отключил.
во время одной из пеерделок разломал нахрен :)
http://www.liveinternet.ru/stat/lissyara.su/
такая есть
Убей их всех! Бог потом рассортирует...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Slayer
проходил мимо
Сообщения: 7
Зарегистрирован: 2007-10-03 9:14:46
Откуда: СССР

Re: Товарищщи скачивающие...

Непрочитанное сообщение Slayer » 2007-10-29 18:08:15

lissyara писал(а):ночью сайт скачивайте...
достали уже...
Ночью, я так понимаю, по московскому времени? А то ребята с длинного востока могут понять неправильно, часовые пояса, однако... А некоторые и из Австралии могут работать.
...далее текст невозможно прочитать из-за огромных пятен от пролитого пива и жирных надписей зеленым маркером "UNIX - rulezzz!!!"

kmb
лейтенант
Сообщения: 680
Зарегистрирован: 2007-02-20 8:30:03
Контактная информация:

Re: Товарищщи скачивающие...

Непрочитанное сообщение kmb » 2007-10-29 20:09:59

Ургор, твой скрипт в конце что предоставит? директорию с хтмлками?
А в портах есть что-нить для этого дела приспособленное? кто-нибудь пользовал?
truth is out there...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Товарищщи скачивающие...

Непрочитанное сообщение Alex Keda » 2007-10-30 1:27:50

wget
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Urgor
лейтенант
Сообщения: 668
Зарегистрирован: 2006-03-14 16:30:18
Откуда: Гилея (СПб)
Контактная информация:

Re: Товарищщи скачивающие...

Непрочитанное сообщение Urgor » 2007-10-30 7:48:48

kmb писал(а):Ургор, твой скрипт в конце что предоставит? директорию с хтмлками?
Да. Но в отличии от wget'a качаются статьи для печати, и качает только те что еще не скачаны...
Вот залил свой архивчик: liss.tgz 14Мб.
Власть в руках у чужаков, и ты им платишь дань...

kmb
лейтенант
Сообщения: 680
Зарегистрирован: 2007-02-20 8:30:03
Контактная информация:

Re: Товарищщи скачивающие...

Непрочитанное сообщение kmb » 2007-10-30 8:36:53

Хм.. а почему не в 1-1? трудно с ориентироваться, что куда относиться...
truth is out there...

Аватара пользователя
Urgor
лейтенант
Сообщения: 668
Зарегистрирован: 2006-03-14 16:30:18
Откуда: Гилея (СПб)
Контактная информация:

Re: Товарищщи скачивающие...

Непрочитанное сообщение Urgor » 2007-10-30 8:46:50

kmb писал(а):Хм.. а почему не в 1-1? трудно с ориентироваться, что куда относиться...
Патамучта главная идея зафигачить все это в один chm файл, и индекс что с раздела "карта сайта" переделывать на лету в реальную карту сайта, а не просто список опублекованных статей. Вот только сча времени нет :( Руководству преперло корпоративный портал забадяжить... за месяц :))
Власть в руках у чужаков, и ты им платишь дань...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Товарищщи скачивающие...

Непрочитанное сообщение Alex Keda » 2007-10-30 8:48:48

карта для поисковиков делалась...
нормальную - прикинул - тяжело на лету генерить.
так что - пока руки не дойдут кэширование сделать - так и будет такая.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Urgor
лейтенант
Сообщения: 668
Зарегистрирован: 2006-03-14 16:30:18
Откуда: Гилея (СПб)
Контактная информация:

Re: Товарищщи скачивающие...

Непрочитанное сообщение Urgor » 2007-10-30 9:55:12

А генерить при добавлении статьи и хранить где-нить в базе?
Кста, работу с меню поглядел?
Власть в руках у чужаков, и ты им платишь дань...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Товарищщи скачивающие...

Непрочитанное сообщение Alex Keda » 2007-10-30 9:56:36

Urgor писал(а):А генерить при добавлении статьи и хранить где-нить в базе?
Кста, работу с меню поглядел?
да так и собираюсь.
руки никак не одйдут.
===========
про меню - непонял
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Urgor
лейтенант
Сообщения: 668
Зарегистрирован: 2006-03-14 16:30:18
Откуда: Гилея (СПб)
Контактная информация:

Re: Товарищщи скачивающие...

Непрочитанное сообщение Urgor » 2007-10-30 10:11:27

lissyara писал(а):про меню - непонял
http://forum.lissyara.su/viewtopic.php? ... 835#p27040
Власть в руках у чужаков, и ты им платишь дань...

Аватара пользователя
ADRE
майор
Сообщения: 2641
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: Товарищщи скачивающие...

Непрочитанное сообщение ADRE » 2007-11-16 5:48:01

Urgor писал(а):Собсна вот, можа еще кому надо...

Код: Выделить всё

#!/usr/bin/perl

use LWP;

$PATH = '/usr/home/urgor/liss/';
system("mkdir -p $PATH");

$defaultreferer = 'http://support.microsoft.com';


GetResurse('http://www.lissyara.su/scripts/style.css', 'http://www.lissyara.su/', $PATH . 'scripts/style.css');

download($PATH,'http://www.lissyara.su/?id=1302&commented=1&print=1','http://support.microsoft.com',$PATH . 'index.htm');

sub download()
{
  my ($path, $abcurl, $referer, $realname) = @_;
  my %links = ();


  print "$abcurl\t$referer\t$realname\n";

  my $ua = LWP::UserAgent->new;
  $ua->agent("Mozilla/8.0"); # Притворимся совместимым браузером !
  my $req = HTTP::Request->new(GET => $abcurl);
  $req->header('Accept' => 'text/html');
  $req->referer($referer);
  # send request
  my $res = $ua->request($req);
  # check the outcome
  if ($res->is_success) {
    my $content = $res->content;
    my $html = $content;
    my $filename = '';

#print "$realname\n";
    open(fl, "> $realname");
    print(fl $html);
    close(fl);

#http://www.lissyara.su/?id=1503&commented=1&print=1     http://support.microsoft.com    /usr/home/urgor/liss/1503.htm
#Unmatched ) in regex; marked by <-- HERE in m/http://www.lissyara.su/\?id=1305) <-- HERE / at ./liss.pl line 62.

  # Разбираем скачанную страницу
  $pos = index($abcurl,'?id=');
  if($pos > 0) {
      # Производим выборку урлов (сцылок на другие сраницы)
      while (split /\n/, $content =~ m/<a\b([^>]+)>(.*?)<\/a>/ig) {
        my $ahref = $1;
        my $text  = $2;
        if ($ahref =~ m/\bhref\s*=\s*(?:"([^"]*)"|'([^']*)'|([^'">\s]+))/xi) {
          my $url = $+;
# print $url . "\t$ahref  1\n";
          $pos = index($url,'?id=');
          if ($pos > -1) {
            $ourl = $url;
            if (index($url, '#') > 0) { $url = substr($url, 0, index($url,'#')); }
            if (index($url, ')') > 0) { $url = substr($url, 0, index($url,')')); }
            if (index($url, '&') > 0) { $url = substr($url, 0, index($url,'&')); }
            $filename = substr($url, $pos + 4, length($url) - 4);
            $filename =~ m/\d+/;
            $filename = $filename. '.htm';
#print "$url\t$filename\n";
            # Правим $html на локальные адреса
            if (index($url,'?') > -1) {
              $url = '\\' . substr($url, index($url, '?'), length($url));
#             $url =~ s/\?/\\?/;
            } # if index
            $filename =~ s/\/*//;
#print "$url\t$filename\n";
            $html =~ s/$url/$filename/g;

            # Если такой страницы нет -- качаем
            if (not -e ("$path/$filename")) {
              $url =~ s/^\.\//http:\/\/www.lissyara.su\//;
              $url =~ s/.*\/*\?/http:\/\/www.lissyara.su\/\?/;
              if(index($url,':') == -1) { $url = 'http://www.lissyara.su/' . $url; }
              @links{$url} = "$path$filename";
            }
#print "$url\t$filename\n";
          } # if  ?id=

          $pos = index($url,'?file=');
          if ($pos > -1) {
            if ($ahref =~ m/\btitle\s*=\s*(?:"([^"]*)"|'([^']*)'|([^'">\s]+))/xi) {
              $filename = $+;
            } else {
              $filename = substr($url, $pos + 6, length($url) - 6);
            } # else
            my $ourl = $url;
            $url =~ s/^\.\///;
            $url =~ s/.*\/*\?//;
            if(index($url,':') == -1) { $url = 'http://www.lissyara.su/scripts/downloads.php?' . $url; }
# print "------> $ourl\t$url\t$filename\n";
            # Хытрый Лис проверяет referer, придется подсунуть правильный ;-)
            GetResurse($url, $abcurl, $path . 'files/' .$filename);
            # Правим $html на локальные адреса
            if (index($ourl,'?') > -1) {
              $ourl =~ s/\?/\\?/;
            } # if index
            $filename =~ s/\/*//;
            $filename = 'files/' . $filename;
            $html =~ s/$ourl/$filename/g;
          } # if  ?file=

        } # if $ahref href
      } # while
      # Выбираем ресурсы (порно-картинки и прочую муть)
      while (split /\n/, $content =~ m/<img\b([^>]+)>/ig) {
        $res = $1;
        if ($res =~ m/\bsrc\s*=\s*(?:"([^"]*)"|'([^']*)'|([^'">\s]+))/xi) {
          $filename = $+;
          $filename =~ s/^\.\///;
          $filename =~ s/.*\/*\?//;
          $filename =~ s/\\//;

          if (length($filename) == 0) { $url = 'http://www.lissyara.su/'; $filename = '1000.htm' }
          if(index($filename,':') == -1) { $url = 'http://www.lissyara.su/' . $filename; }
          else { $url = $filename; }
# print "-------> $url\t$filename\n";
          GetResurse($url, $defaultreferer, $path . $filename);
          # Правим $html на локальные адреса
          if (index($url,'?') > -1) {
            $url =~ s/\?/\\?/;
          } # if index
          $filename =~ s/\/*//;
          $html =~ s/$url/$filename/g;

        } # if
      } # while

      open(fl, "> $realname");
      print(fl $html);
      close(fl);

      while (($url, $localurl) = each(%links)) {
        download($path, $url . '&commented=1&print=1', $defaultreferer, $localurl);
      } # while
    } # if $pos


  } else { print "Error: " . $res->status_line . "\n";
  }

} # sub download

sub GetResurse()
{
  my ($abcurl, $referer, $realname) = @_;

  if (not (-e "$realname")) {
    my $dirname = substr($realname, 0, rindex($realname, '/'));
    if (not (-e "$dirname")) { system("mkdir -p $dirname"); }

    if (index($referer, '&')>0) {  $referer = substr($referer, 0, index($referer, '&')); }
    print "\nDownload resurse -> $abcurl\nReferer          -> $referer\nSaved as         -> $realname\n";

    my $ua = LWP::UserAgent->new;
    $ua->agent("Mozilla/8.0"); # Притворимся совместимым браузером !
    my $req = HTTP::Request->new(GET => $abcurl);
#    $req->header('Accept' => 'text/html');
    $req->referer($referer);
    # send request
    my $res = $ua->request($req, $realname);
    if ($res->is_success) {
#    print $res->content;
    } else {
    print "Error: " . $res->status_line . "\n";
    }
  } # if not file exists
} # sub GetResurse
хм а чтобы разобрать страницу по частям типа: выводиться таблица и из таблицы ковырнуть значения и сложить их у себя. это надо поиграть с регулярными выражениями? примерчек подкинте =)))
//del