Jump to content
Vhaerun

Perl Web Bot , Tutorial 1 + Video Tutorial

Recommended Posts

Salut !

Spre deosebire de tutorialul AutoIT , unde am vazut un "bot" care automatiza Internet Explorer , azi va arat acelasi bot facut in perl . Daca ati rulat bot-ul AutoIT , ati vazut cu siguranta ca se misca destul de incet . Ei bine , un bot in perl e mult mai rapid , consuma doar cativa kilo de memorie ( spre deosebire de multi mega cat consuma Internet Explorer ) , si , dupa parerea mea e mult mai usor de facut debugging asupra lui .


use strict; # folosirea acestui modul obliga declararea variabilelor
use warnings; # folosirea acestui modul genereaza avertizari
use WWW::Mechanize; # modulul Mechanize , reprezentarea unui browser

my $user=shift || die "Username\n"; # cere user
my $pass=shift || die "parola\n"; # cere parola

my $mech=WWW::Mechanize->new(); # se creeaza mech-ul

$mech->agent_alias("Windows IE 6"); # mimam Internet Explorer

$mech->get("http://rstcenter.com/forum/"); # vizitam forumul

$mech->form_number(1); # alegem primul form

$mech->field("username",$user); # completam campul user
$mech->field("password",$pass); # si pass

$mech->click(); # realizeaza logarea


#urmatoarele linii sunt optionale ,ele creeaza un fisier html
#cu continutul paginii curente a mech-ului
#dupa deschiderea paginii , se va vedea ca mech-ul a reusit logarea
open(F,">temp.html") || die "Nu pot creea $!\n";

print F $mech->content();
close(F);

Link to comment
Share on other sites

Si un cod care sa se logheze pe Bitefight , pentru ca multa lume mi-a cerut .

ATENTIE : eu folosesc server 2 !


use strict;
use warnings;
use WWW::Mechanize;

my $user=shift || die "User\n";
my $pass=shift || die "parola\n";

my $mech=WWW::Mechanize->new();
$mech->agent_alias("Windows IE 6");
$mech->get("http://s2.bitefight.ro/bite/login.php");

$mech->form_number(1);

$mech->field("user",$user);
$mech->field("pass",$pass);
$mech->click();
sleep(2); # astept 2 secunde inainte sa cer URL-ul urmator

# merg la pagina principala
$mech->get("http://s2.bitefight.ro/bite/uebersicht.php?&web_redirected=1");

# fac un fisier html pentru a vedea mai usor sursa paginii curente
open(F,">tempbite.html") || die "nu pot creea $!\n";

#scriu sursa paginii
print F $mech->content();

#inchid fisierul
close F;

You kids have fun !

Link to comment
Share on other sites

Uitati aici inca doua alternative la firebug :

1. Tamper data , cu tutorial video AICI

2. Odata cu instalarea WWW::Mechanize , vine si un script numit mech-dump,cu care pot fi gasite form-uri , precum si alte elemente dintr-o pagina. mech-dump se ruleaza astfel ( modul default de functionare arata form-urile ) :

mech-dump site

Link to comment
Share on other sites

vhaerun, modulul Mechanize am vazut ca nu este in lista pachetelor pentru windows.

adica nu pot sa-l instalez cu 'ppm'

l-am instalat manual.

ca alta intrebare.

stie cineva cum pot sa rulez o comanda de sistem dar sa nu se opreasca exacutia programului acolo ?

adica sa pot sa omor acea comanda daca vreau, cand vreau.

Link to comment
Share on other sites

nu.

deci vreau ca programul sa execute o actiune(de ex sa deschida o pagina)

apoi sa i-a o pauza(adica sa nu faca nimic 5 min) si dupa aceea sa faca o alta actiune (de ex sa navigheze spre o pagina).

asta nu e greu dar nu stiu eu o functie ceva cu care sa determin timpul

apropo ... ai putea sa-mi recomanzi un tutorial autoit(sau ceva apropiat) care sa fie explicit si mai complex (chiar si in engleza)

Link to comment
Share on other sites

am incercat si eu sa rulez scriptul : am instalat perl dar cand il rulez primesc eroarea :

Can't locate WWW/Mechanize.pm in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib .) at Untitled1 line 4.

BEGIN failed--compilation aborted at Untitled1 line 4.

am cautat pe Google mechanize am gasit niste fisiere dar nu m-am prea descurcat .... :oops:

ar putea cineva sa ma ajute cu Mechanize ( download + instalare ) ?

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...