Здесь я решил опубликовать свои кривые, и возможно некому ненужные парсеры.
Хотя вполне возможно что кому то они будут полезны.
И так начнём!

1) Загрузка всех видео с одного канала на youtube
Требует установленной утилиты youtube-dl.
Установка в [Ubuntu\Debian]:

1
2
sudo -s
aptitude install youtube-dl

После чего запускаем скрипт, передавая в качестве параметра ссылку на канал youtube:

1
2
chmod 0777 parser.pl
./parser.pl "http://www.youtube.com/user/ThisIsHorosho"


Сам код скрипта:

1
2
3
4
5
6
7
8
9
#!/usr/bin/perl -w
###
use strict;
use LWP::Simple;
###
my $url = shift or print "Cent locate URL!\n" and exit 1;
my $page = get($url);
my @videos = ($page) =~ m#print system('youtube-dl http://www.youtube.com/watch?v='.$_) for (@videos);

2) Загрузка всех треков альбома на russian-kings.org
Запускаем скрипт, передавая в качестве параметра ссылку на альбом:

1
2
chmod 0777 parser.pl
./parser.pl "http://http://russian-kings.org/index.php?task=downloadTracks...."

Сам код скрипта:

1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/perl -w
###
use strict;
use LWP::Simple;
use List::MoreUtils qw/uniq/;
###
my $page = get(shift or die "Wrong parametr! \n");
my @links = ($page) =~ m#/index\.php\?task=downloadTracks&no_html=1&track_id=(\d+)#gi;
@links = uniq @links;
for (@links) {
    system('wget -O mp3/'.$_.'.mp3 "http://russian-kings.org/index.php?task=downloadTracks&no_html=1&track_id='.$_.'&option=com_music&lang=ru"');
}

3) Загрузка всех картинок с одной страницы
Запускаем скрипт, передавая в качестве параметра ссылку на страницу:

1
2
chmod 0777 parser.pl
./parser.pl "http://site.com/lololo.php"

Сам код скрипта:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#/usr/bin/perl -w

use strict;
use List::MoreUtils qw/uniq/;

my $site = shift;
$site =~ /(.{4,5}\:\/\/.+?)\//;
my $domian = $1;
my $page = `wget -q $site -O -`;
my @links = ($page) =~ /;
for (@links) {if ($_ !~ /http:\/\// && $_ !~ /https:\/\//i) {if ($_ =~ /\\(.*)/) {$_ = $domian.$_;} else {$_ = $domian.'/'.$_;}} if ($_ =~ /(.*)[\&|\;]{1}(.*)/) {$_ = $1;} }
my $inf1 = scalar(@links);
print "Всего извлечено ".$inf1." ссылок.\n";
@links = uniq @links;
my $inf2 = scalar(@links);
my $inf = $inf1 - $inf2;
print "Удалено ".$inf." ссылок-дубликатов.\n";
print "Ссылок для скачевания ".scalar(@links).".\n";

for (@links) { print($_."\n");}
for (@links) {get_img($_);}
sub get_img {

my $linck = shift;
#print $linck."\n";
my $img = `wget -q $linck -O -`;
$linck =~ /(.*)\/(.*)/;

open (FILE, "> $2");
print FILE $img;
close (FILE);
print '.';}

print "\n";

В дальнейшем будут дополнять этот пост. icon smile Мои безделушки на Perl

tt twitter big4 Мои безделушки на Perl tt digg big4 Мои безделушки на Perl tt facebook big4 Мои безделушки на Perl tt gmail big4 Мои безделушки на Perl tt myspace big4 Мои безделушки на Perl tt reddit big4 Мои безделушки на Perl

Оставить комментарий

CAPTCHA изображение
Обновить изображение
*

RSS-подписка NIG Twitter-подписка NIG

Метки
Друзья
Блог линуксоида Программы для диагностики компьютера
Супер Pixel
Убивалка флешаБэкконект шелл. Часть вторая.Бэкконект шелл. Начало.НАМ для деления чиселПростая арифметикаПередача файлов. Часть третья. Клиент.Dll injectionСканер портовКодировка текста в BMPРухнул на два дняПередача файлов. Часть вторая. Сервер.Поворот и BMPCRC32 суммаBMP форматфайловые вирусыассемблер, строкиАссемблер и матрицапримеры ассемблерМногопоточное программированиеАрхитектура клиент — серверРаздача ICQПишем шуткупишем паукаПривет от ДжеймсаОбход firewallЗагрузка картинок на Gyazo, прямо из ThunarКейлоггер 3Плюшки в контекстном меню Thunarc по сетиКейлоггер 2КейлоггерСкачать Ассемблер!VirusCheckerОтморозки мешают жить ?! Не проблемма !Cкрипты для взлома аккаунтов QIPWinAPI. Работа с файлами. Часть третья. ЧтениеDlink exploitБрут сайта etxt.ruКрасивая раскладка клавиатуры в GnomeМои безделушки на PerlКак запускать Perl скрипты под WindowsБрутфорс партнёрки ZipCoinПарсер upwap.ruИзменения в блогеЧудо ЗаливалкаСкрипт для загрузки файлов на Zalil.ruЯндекс «чоткий» поисковик!WinAPI. Работа с файлами. Часть вторая. ЗаписьWinAPI. Работа с файлами. Часть первая. ПоискПолучение MD5 хеша средствами C++Что нам стоить letitfile.com забрутить?WarCraft III запуск под LinuxЭнтропия файлаWinsock и C++. Мини прокси. Часть |\\/. Завершающая.Перепилил чекер для 4gameЧекер акаунтов YoupornCMailSend v 1.1. Отправка почы без проблемСлучайные числаWinsock и C++. Часть |||. smtp монстр.Брутфорс LetitFile.comИспользование X-Forwarded-For, для обмана веб-сервера, подмена IP подручными средствамиДело было вечером, делать было нечего…Мысли о аудио сервереПарсер ников из твиттераКонец школоло…Perl+Linux. Заметка первая (Удобный Paste bin).Бэкконект шелл.E-MAIL + winsocket + Cpp. Сложно?winsock и C++. Часть ||. Атака клоунов.C++ резолвинг адресаPerl, анализ HTML кода и определение CMSМатематика в C++winsock и C++