Jump to content
Vhaerun

Perl Web Bot Tutorial 2 , Introducere in anonimitate

Recommended Posts

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

- Connection

etc.

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 !

Link to comment
Share on other sites

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;

}

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...