Vhaerun Posted February 27, 2008 Report Posted February 27, 2008 Sunt sigur ca de multe ori ti-ai rugat prietenii sa dea click pe nu stiu ce link , ca sa faci puncte in cine stie ce joc . Avand o lista de proxy-uri bune , ai putea sa dai tu singur click-urile , si uneori sa si scapi basma curata .Va prezint partea a doua a tutorialului de boti .Dupa parerea mea , pentru ca o vizita sa para "unica" , headerele trimise de browser trebuie sa difere intre ele . Printre headerele astea se numara :- Referer- User-agent- Accept- Connectionetc.Folosind modulul WWW::Mechanize , poti adauga headere mech-ului in felul urmator :$mech->add_header( Header => Valoare)unde bineinteles , in loc de Header se trece numele unui header si la valoare continutul .Completand cat mai multe headere poti sa maresti sansele de a parea ca fiind o vizita reala serverului .Pentru ca Mechanize se bazeaza pe LWP::UserAgent , se poate apela orice metoda ai apela cu un obiect UserAgent . In felul asta , avem acces la metoda proxy , prin care poti specifica schema si proxy-ul respectiv .Exemplu : daca vrem un proxy pt http , se apeleaza asa metoda :$mech->proxy("http","http://" . $proxy)pentru exemplul de mai sus consideram ca in variabila $proxy , este un proxy valid .Pentru a demonstra toate chestiile scrise mai sus am facut un program care :- accepta o lista de proxy-uri- are o lista foarte mare de user-agents- accepta o lista de referral- poti specifica un numar de vizite care sa-l faca asupra sitului ( vizitele fiind facute doar daca proxy-ul e valid , si ip-ul prin proxy al mech-ului este diferit de ip-ul calculatorului tau ; verificarea e facuta prin ipchicken.com )Programul poate fi descarcat AICI .Partea principala din program a fost inlocuita cu "pseudocod" , pentru a nu putea fi folosit decat de cei care sunt capabili sa il reconstruiasca . Toate functiile de care aveti nevoie se afla in fisier . Reconstruirea robot-ului mi se pare un exercitiu foarte bun de programare , nu tocmai dificil pentru ca v-am scris in script pas cu pas ce e de facut .Pentru eficienta maxima recomand folosirea lui cu proxy-uri elite . In arhiva , pe langa script , se afla o lista mare cu user-agents . Voi trebuie sa va faceti rost de o lista de proxy-uri si de o lista de referreri ( treaba de 2 minute ) .BTW:Sunteti responsabili de cum il folositi .Have fun ! Quote
ÐÒ& Posted February 27, 2008 Report Posted February 27, 2008 Eu cred ca este suficient ca IP-ul sa difere. Quote
alcol Posted February 27, 2008 Report Posted February 27, 2008 Frumos tutorial Vhaerun ai merita un VIP @ Quote
Vhaerun Posted February 27, 2008 Author Report Posted February 27, 2008 Ca nu merg proxy-urile asta ii partea a 2-a Dar totusi , uite aici un script care sa va faca rost de proxy-uri . Rulat in fiecare zi ( odata pe zi ) , va face rost de vreo 200 de proxy-uri .use strict;use warnings;use WWW::Mechanize;my $mech=WWW::Mechanize->new();my $file="prox.txt";my $site="http://nntime.com/index.php";my $page=0;$mech->agent_alias("Windows IE 6");$mech->get($site);NEXT_PAGE: print "Sunt la pagina $page\n"; extract_proxies($mech->content,$file); if($mech->content=~/next/i) { $mech->follow_link( text => "Next" ); sleep(3); $page++; goto NEXT_PAGE; } sub extract_proxies { my $content=shift || die "continut\n"; my $file =shift || die "fisier in care scriu\n"; open(F,">>$file") || die "nu pot deschide fisierul pentru a scrie in el\n"; while($content=~/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5})/g) { print F $1,"\n"; } close F;} Quote
SnoopzaY Posted March 3, 2008 Report Posted March 3, 2008 uite is cam nou programul se editeaze sau se face in perl? Quote
amprenta Posted March 3, 2008 Report Posted March 3, 2008 Creca se compileaza cu interpreter phpSa dati perl udp.pl stiti ......... Quote
Vhaerun Posted March 3, 2008 Author Report Posted March 3, 2008 uite is cam nou programul se editeaze sau se face in perl?se face , painea pe vatra . Quote
SnoopzaY Posted March 3, 2008 Report Posted March 3, 2008 use strict;use warnings;use WWW::Mechanize;my $mech=WWW::Mechanize->new();my $file="prox.txt";my $site="http://nntime.com/index.php";my $page=0;$mech->agent_alias("Windows IE 6");$mech->get($site);NEXT_PAGE: print "Sunt la pagina $page\n"; extract_proxies($mech->content,$file); if($mech->content=~/next/i) { $mech->follow_link( text => "Next" ); sleep(3); $page++; goto NEXT_PAGE; } sub extract_proxies { my $content=shift || die "continut\n"; my $file =shift || die "fisier in care scriu\n"; open(F,">>$file") || die "nu pot deschide fisierul pentru a scrie in el\n"; while($content=~/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5})/g) { print F $1,"\n"; } close F;} mai trebuiai inlocuit ceva? aici Quote
SnoopzaY Posted March 3, 2008 Report Posted March 3, 2008 Can't locate WWW/Mechanize.pm in @INC (@INC contains: D:/Perl/site/lib D:/Perl/lib .) at Untitled line 4. ce fac? Quote
moubik Posted March 3, 2008 Report Posted March 3, 2008 am explicat eu aici cum se instaleazahttp://rstcenter.com/forum/cum-sa-scapi-mai-devreme-de-la-munca-t10377.rst Quote
SnoopzaY Posted March 3, 2008 Report Posted March 3, 2008 am instalat HTTP:Recorder si celelat dar la HTTP::Proxy imi arata asta si sta asa...Moama parca am descoperit o lume noua e ca si cum as invata alfabetuuMersii ca existi RST Quote
Vhaerun Posted March 3, 2008 Author Report Posted March 3, 2008 Trebuie instalat manual. Am aratat in tutorial cum. Quote