Trebam napraviti perl skriptu koja će se spajati na www.google.com. Argument komandne linije pri pokretanju skripte je riječ za pretraživanje google-a. E sad, nemam pojma raditi sa perl modulima (zapravo sa perlom uopće) pa bih molio nekakav hint-smjernicu.
Preko CPAN-a sam instalirao module Http::Request i Bundle::LWP ali neznam kako provjeriti da li sam ih uspješno instalirao.
Možda neki isječak koda od par linija sa printovima koji će provjeriti jel instalirano dobro ili ne?
Malo razmišljam i moj plan je da treba ovako nekako ići
wget -O /tmp/google_result -U Mozilla [url=http://www.google.com/search?q=$upit]http://www.google.com/search?q=$upit[/url];
pa pročitaš /tmp/google_result (ono mozilla je zato što google zabranjuje wget)
ili možda ovako:
$stranica = lynx -dump [url=http://www.google.com/search?q=$upit]http://www.google.com/search?q=$upit[/url];
Evo nije me bilo nekoliko dana pa nisam sudjelovao. Hvala Vedrane na pomoći.
No ja sam to išo rješit baš preko modula (LWP). Evo kod za skriptu koja dohvaća rezultate sa google-a:
#ako je uspio dohvatiti sadržaj sa google-a spremi ga u var. $content
if ($response->is_success)
{
$content= $result->content;
}
else
{ #ako nije, prekini izvodjenje
die “Could not get content”;
}
my @rezultati; #regex koji izdvaja linkove sa stranice, tj. meča rezultate pretrage kako bi samo njih ispisao
while ($content =~ /
A sad imam jedan drugi problemcic. Istu stvar trebam napraviti za http://www.hr gdje pretraživanje radi perl skripta. Ako se pogleda source kod stranice www.hr onda se može naći opis forme u koju se inače upisuje pojam. Analizom tog opisa vidljivo je da se atribut koji prenosi riječ za pretragu zove “srch”. Ali osim tog atributa ima još atributa koji se prenose ali su za korisnika hidden. Za http::Request treba koristit POST metodu pa bih molio ako možete pogledati dali je kod napisan ispravno i kako dodati u POST metodu ostale parametre.
C/P html opisa forme za unos pojma za pretragu:
[b]
my $zajedno = join("\n", @rezultati);
print $zajedno."\n";[/code]
##################################################################
sad ja samo prosljeđujem POST metodi atribut ‘srch’ što mi ne daje ispravan http::Response. Trebao bih i druge atribute valjda prenijeti. Jel se da kome isprobati ovaj kod i malo se igrat da mi pomogne?
Proučavam taj HTTP::Request::Common…
Zbunjuje me taj perl objective. Kako da krenem? Što trebam napraviti, tj. na koji način prenijeti sve argumente?
Može neki odsječak koda za primjer da shvatim. Nešto što bi svaka budala trebala shvatit ?
Dali tebi ovaj kod radi ispravno? Ja šta god napravim dobivam početnu stranicu. Gdje je bug?
Čitam na netu da većina CGI skripti vraća početnu stranicu ako nisu navedeni svi parametri POST metode ili su netočni.
Da li je to slučaj ovdje i kako to riješiti? Nikako ne uspijevam, a već je hitno.