Скорая Компьютерная Помощь г. Калуга

Полный спектр компьютерных услуг!

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

> Внимание!

  • Вся информация, расположенная в данном и других разделах форума получена из открытых источников (интернет-ресурсы, средства массовой информации, печатные издания и т.п.) и/или добавлена самими пользователями. Администрация форума предоставляет его участникам площадку для общения / размещения файлов / статей и т.п. и не несет ответственности за содержание сообщений, а также за возможное нарушение авторских, смежных и каких-либо иных прав, которое может повлечь за собой информация, содержащаяся в сообщениях.
Ремонт компьютеров в калуге Рекламное место сдается
 
Ответить в эту темуОткрыть новую тему
> perl скрипт для скачки всех песен исполнителя с tutmp3.net
Parus
сообщение 1.6.2009, 11:49
Сообщение #1


Junior Member
**

Группа: Пользователи
Сообщений: 39
Регистрация: 25.11.2008
Из: Калуга
Пользователь №: 57



Собственно сабж. Вчера написал.
зы Желательно запускать его по крону(раз в час)(ибо на сервере есть ограничение по кол-ву скачек с ip в промежуток времени) и удалиять его оттуда, когда он возвращает 0.
Собственно сам скриптъ:

Код
#!/usr/bin/perl
####################################
# Created by parus                 #
# E-mail: [email protected]         #
####################################
use strict;
use LWP::Simple;
our $downloaded=0;

sub down
{
my ($url)=@_;
my $url2=$url;# Осторожно, кривые руки!
if ($url2=~ s/http:\/\/dl\.tutmp3\.net\/[A-Za-z0-9]{32}\/\d+\/\d+\/(.+\.mp3)//i )
{
  if ( -e $1)
  { print "$1 exists!\n"; } else
  {
   $downloaded++;
   system("wget -c $url");
  }
}
}

my $url="http://www.tutmp3.net/artist-69-6918/NTL.html";
my $data=get($url);
my $i = 0;
for ( $data=~ m/<span style=\"color:#1f1f1f;\"><a href=\"\/mp3\-\d+\-(\d+\/.+)\.html\">/gi )
{
if ( s/(\d+)\/(.+)//i )     #Не тру!
{
  my $id=$1;
  my $trek=$2;
  my $ext="mp3";
  my $ok2="Скачать";
  my $hash=get("http://www.tutmp3.net/download.php?id=$id&trek=$trek");
  if ($hash=~s/<input type=\"hidden\" name=\"hash\" value="([A-Za-z0-9]{32})">//i)#A-Z на всяк случай, ибо не мешает
  {
   $hash=$1;
   my $page=get("http://www.tutmp3.net/download.php?id=$id&trek=$trek&ext=$ext&hash=$hash&ok2=$ok2");
   if ($page =~ s/(http:\/\/dl\.tutmp3\.net\/[A-Za-z0-9]{32}\/\d+\/\d+\/.+\.mp3)//i)
   {
    down($1);
   }
  
  }else {print "ERROR!\n";}
    
  $i++;
}else {print "ERROR!\n";}
}
print $downloaded;



--------------------
Удачи
Всё гениальное - просто...
2007-12-02 - ДР моего хостинга
У меня ADSL, а не выделенка
Мой сервер работает без перезагрузки:
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

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

 

Рекламное место сдается Рекламное место сдается
Текстовая версия Сейчас: 25.6.2025, 6:29
Рейтинг@Mail.ru
Яндекс.Метрика Яндекс цитирования