Итак началось все с того что мне нужны были прокси, по пользовавшись пабликом я понял что это мне не подходит Вот и написал свой (просьза заценить) Итак как работать скачиваем его вот отсюда http://depositfiles.com/ru/files/i7dpny57z в файле proxy.pl изменяем строки на те которые у нас (те в папку куды мы распокавали) #В этом файле указаны урл сайтов с прокси $file = "< /home/maks/proxy/b_proxy/proxy_servers.txt"; $grabbing_filename = "/home/maks/proxy/b_proxy/grab.txt"; #Имя файла куда мы складываем хорошие прокси $save_file = ">> /home/maks/proxy/b_proxy/good.txt"; и запускаем perl proxy.pl default ждем зы предложения, замечания, ошибки отписываем (зы интересно сколько стоит мое творчиство в дэньгах) ЭЭЭ чют не забиль я его тока на никсах писаль и юзал, про вин не ф курсЭ
Угу , круто , тока все у меня закончилось на граббинге ((( . Ранее перлом не пользовался . Тестировал скрипт на FreeBSD 8.0 , Perl 5.12, через cpan подгрузил все нужные модули . Вот что говорит скрипт /files/booom/ >>./proxy.pl grabbing Grabbing only ---------------- Use of uninitialized value $content in pattern match (m//) at ./proxy.pl line 220, <$HANDL> line 1. Grabbing site - http://hideme.ru/proxy-list/socks4 - AXTUNG !!!! !!!! !!!! Grabbing site - http://www.aliveproxy.com/ru-proxy-list/ - AXTUNG !!!! !!!! !!!! Grabbing site - http://puplicproxyservers.com/category/free-proxy-list-server-socks-server/ - AXTUNG !!!! !!!! !!!! Grabbing site - http://www.aliveproxy.com/ru-proxy-list/ - AXTUNG !!!! !!!! !!!! Grabbing site - http://www.atomintersoft.com/products/alive-proxy/proxy-list - AXTUNG !!!! !!!! !!!! Use of uninitialized value $content in pattern match (m//) at ./proxy.pl line 220, <$HANDL> line 6. Grabbing site - http://www.onlinechecker.freeproxy.ru/free_proxy_lists.php - AXTUNG !!!! !!!! !!!! Grabbing site - http://windsky.ru/index/0-5 - AXTUNG !!!! !!!! !!!! Use of uninitialized value $content in pattern match (m//) at ./proxy.pl line 220, <$HANDL> line 8. Grabbing site - http://www.textproxylists.com/proxy.php?allproxy - AXTUNG !!!! !!!! !!!! Grabbing site - http://russianproxy.ru/proxy_list_http_fastest - AXTUNG !!!! !!!! !!!! Use of uninitialized value $content in pattern match (m//) at ./proxy.pl line 220, <$HANDL> line 10. Grabbing site - http://hideme.ru/proxy-list/http - AXTUNG !!!! !!!! !!!! Use of uninitialized value $content in pattern match (m//) at ./proxy.pl line 220, <$HANDL> line 11. Grabbing site - http://hideme.ru/proxy-list/http-connect - AXTUNG !!!! !!!! !!!! Use of uninitialized value $content in pattern match (m//) at ./proxy.pl line 220, <$HANDL> line 12. Grabbing site - http://hideme.ru/proxy-list/socks4 - AXTUNG !!!! !!!! !!!! Use of uninitialized value $content in pattern match (m//) at ./proxy.pl line 220, <$HANDL> line 13. Grabbing site - http://hideme.ru/proxy-list/socks5 - AXTUNG !!!! !!!! !!!! ---------------- Clear dublecates is 0 Grabbing done is - 0 ---------------- Ну а вот сама 220 строка в моем конфиге , - @proxy_sh = $content =~ m|\d+\.\d+\.\d+\.\d+:\d+|g; Что не так ? Подскажите плиз .
Уже давно в сети есть лучше грабберы Вот например хороший рабочий #!/usr/bin/perl -w use LWP::UserAgent; use threads; use threads::shared; my @sites : shared; ############################### my $threads = 1; # Кол-во потоков my $proxy = 'proxy.txt';# Путь к награбленным проксям my $sites = 'sites.txt';# Путь к списку сайтов(откуда грабить) ############################### open (S, "<$sites") || die("Could not open ".$sites." file!!!"); open (F, ">>$proxy") || die("Could not open ".$proxy." file!!!"); @sites = <S>; my $num; my $saw; for(0..$threads) {$trl[$_] = threads->create(\&Grab, $_);} for(@trl) { $_->join; } sub Grab { while (@sites){ $site = shift @sites; $ua = new LWP::UserAgent; $ua->timeout(30); $data = $ua->get($site)->as_string; print "Grabbing proxys from: ".$site." ...\n"; while($data =~/(\d*\.\d*\.\d*\.\d*)\: (\d*)/msgi) { print F $1.":".$2."\n"; print $1.":".$2."\n"; } print "#############################\n"; } } close (F); close (S); если будет ошибка в строке /(\d*\.\d*\.\d*\.\d*)\: (\d*)/msgi) уберите пробел Легче самому с нуля написать чем править это извращение
Затестил скрипт из первого поста на чек по награбленному списку . Указав 200 потоков . 1) Чекал очень медленно . 1 IP - В две секунды 2) Вылетел 2 раза в самом начале скана . 3) Сейчас сканю третий раз , пока не вылетает , но какую проксю бы он не чекал тутже пихает в какой нибудь ГУД лист. Хотя она вовсе не живая . Вывод - этот скрипт не рабочий по всем направлениям! Хотя задумка и хорошая с расформированием типа проксей по разным файликам.