Jump to content
Vhaerun

Perl Web Bot , Tutorial 1 + Video Tutorial

Recommended Posts

Posted

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);

Posted

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 !

Posted
Chestie foarte ciudata : avi-ul are vreo 90 de mega si arhiva doar 4 !!!

Se pare ca nu toate playerele pot sa deschida filmul . Se vede la voi ?

Vhaerun, avi-ul are 90mb pentru ca nu este compresat. de aceea arhiva are 4mb.

nu stiti cum se face encodarea video ?

Posted

@moubik

Nu sunt interesat de encoding , formate audio/video . Poate vreodata daca o sa am nevoie , o sa invat , momentan consider ca mi-as incarca memoria inutil.

@yoyo2008

Ce versiune de Firefox ai ? Se incadreaza intre cele recomandate de firebug ?

Posted

Ciudat , pe site scrie ca e suportata . Incearca sa reinstalezi firebug , si daca nu merge nici asa , incearca sa reinstalezi firefox . Are altcineva alte sugestii ? O sa mai postez niste metode alternative la firebug , just in case .

Posted

am rezolvat e din cauza asta

Firebug crashes immediately when I try to open it.

The most likely cause for this is the Sothink SWF Catcher extension. If you have this extension installed, disabling it will allow Firebug to work properly.

Posted

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

Posted

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.

Posted

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)

Posted

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 ) ?

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