[ jandearc @ 04.07.2003. 15:47 ] @
Vozdra,

Napravio sam mini skriptu koja treba da okrene textualni fajl unazad(slijeva udesno). Sve je u redu dok procesiram fajl koji je na lokalnoj masini, ali kada to pokusam na internetu - kaze: no such file or directory. Takodjer bih volio da pretrazujem internet na sljedeci nacin: ja fiksiram file npr: http://www.nekisajt.net , i unesem frazu npr: "ormar" . Postoji li skripta koja ce pretraziti taj sajt i reci mi postoji li ta fraza na toj web strani ili ne?
Evo skripte koju sam pravio a radi samo na lokalnoj masini:

#ako stavim 'proba.txt' (postojeci fajl u current direktoriju)onda radi
$file = "http://www.yahoo.com"; open (INFO, $file) or die "Can't open $file: $!";

while ( $line = <INFO> ) {
chomp $line;
$linecount +=1;
@ltrlist = split('', $line);
$ltrcount += @ltrlist;
@wordlist = split(' ', $line);
$wordcount += @wordlist;
push(@linelist, reverse @ltrlist);
push(@linelist,"\n");
}

foreach $line (@linelist) {
print "$line";
}
print "words: $wordcount lines : $linecount letters : $ltrcount";
[ bzero @ 04.07.2003. 17:52 ] @
Sa open (INFO, $file) mozes da otvoris fajl, ali koliko sam shvatio ti pokusavas da otvoris Yahoo sto nece ici sa open().

To mozes da uradis naprimer sa LWP::UserAgent modulom (deo libwww).

Code:

#!/usr/bin/perl -w

$|++;
use LWP::UserAgent;

$agent = LWP::UserAgent->new;
$request = HTTP::Request->new(GET => "http://www.yahoo.com");
$res = $agent->request($request);
print $res->as_string;

[ jandearc @ 07.07.2003. 02:11 ] @
hvala puno, bas cu isprobati pa ti javim rezultat:)
[ MrYoo @ 07.07.2003. 14:17 ] @

$request = HTTP::Request->new(GET => "http://www.yahoo.com");

Ovo moze da prodje ali ne uvek mozda je bolje da tacno kazes koji file hoces

$request = HTTP::Request->new(GET => "http://www.yahoo.com/index.html");

Prethodni primer takodje radi na yahoo.com jer se podrazumeva da hoces index file ali ja sam na neki drugim sajtovima imao problema dok nisam zatrazio konkretan file.

Pozdrav
[ tOwk @ 07.07.2003. 14:36 ] @
Ako je to slučaj, onda je dovoljno da zahtevaš „http://www.yahoo.com/“ (obrati pažnju na završnu kosu crtu). Ukoliko je ne navedeš, server će vršiti redirekciju, što može stvoriti problem sa nekim klijentima.

[ MrYoo @ 08.07.2003. 01:18 ] @

Ovo sa kosom crtom si upravu. Sada sam prevrtao dokumentaciju.
[ jandearc @ 08.07.2003. 01:43 ] @
Aha, pa ovo fercera extra. A mogu li sada biti nekorektan? Znam da prvo moram konsultovati svu perl dokumentaciju, pa tek onda postati pitanja, ali sam u takvoj stisci, a ovo me straasno kopka...
Mogu li pretrazivati tudji direktorij ? Kada pretrazujem po direktoriju na svom serveru sve je ok.Medjutim opet problem sa internetom. Evo koda :

use IO::Handle;
my $direktorij = "c:/Dejan";
opendir DH, $direktorij or die "Ne mogu otvoriti $direktorij: $!";
foreach $file (readdir DH){
print "jedan fajl u $direktorij je $file\n";
}
closedir DH;

I to radi.Fino sve izlista u tom direktoriju. Opet kada probam na internetu , ne moze. Sta da radim?
[ MrYoo @ 08.07.2003. 12:46 ] @

:) Zabranjeno voce je uvek najsladje. Ako nemas dozvolu od servera da gledas sadrzaj tog direktorijuma onda to ne mozes da uradi ni kroz program bar ne na ovaj nacin, jer ako imas recimo sewrver sa vise korisnika recimo ti jandearc a zelis da pristupis perinim fajlovima. Kada izvrsis skriptu na svom delu servera onda ona ima tvoj username i sada ako pera nema omogucen read onda ne mozes da citas sadrzaj dok se ne pretstavis kao pera a da bi se pretstavio kao pera moras da znas i pass. A da bi znao pass e to je vec tema za duzu diskusiou.

Pozdrav.
[ jandearc @ 08.07.2003. 14:49 ] @
Ma evo u cemu je u stvari fol. Moj ujak gleda stalno neke sluzbene novine ili nesto tome slicno preko interneta. Posto se radi o BiH, mozete zamisliti na sta lici sajt i koliko je pregledan - jednom rjecju - katastrofff!!! E sad me je on zamolio ako mogu da izvucem barem sadrzaje(svaki sluzbeni list ima svoj sadrzaj) pa da ga ubacim u neki tekstualni fajl.Tako ce on na lokalnoj masini lako pregledati sadrzaj i ako ga sta interesuje, otici ce i isprintati. Stranice su otprilike ovako koncipirane :

http://www.sluzbenilistBiH/neki_folder/sluz_list01.html
http://www.sluzbenilistBiH/neki_folder/sluzlist02.html
http://www.sluzbenilistBiH/neki_folder/sluz_list3.html
http://www.sluzbenilistBiH/neki_folder/sllist04.html

Dakle nikakve koncepcije ni logike u nazivima html dokumenata da budu u skladu sa brojem sluzbenog lista.
Zato sam ja mislio da pretrazim kompletan folder u kojem se nalaze sadrzaji sluzbenih listova i da iscitam fajlove, izvucem iz htmla samo text i voula !!!

Ako moram pojedinacno da navodim imena html fajlova, to je problem zato sto nema logike u nazima, fakticki moram svaki put otici gore, vidjeti path i ubaciti ga u skriptu, sto je malo troma varijanta.

pomoc?
[ tOwk @ 08.07.2003. 18:44 ] @
Citat:
Zato sam ja mislio da pretrazim kompletan folder u kojem se nalaze sadrzaji sluzbenih listova i da iscitam fajlove, izvucem iz htmla samo text i voula !!!


A kako si mislio da „pretražiš kompletan folder“? Koliko ja znam, veb servisi ne obezbeđuju pojam „folder-a“, a čak ni „fajlova“.

Ono što možda možeš da uradiš je sledeće.
— preuzmeš indeks stranicu (ukoliko je server postavljen tako da pravi indeks stranicu sa linkovima na sve druge stranice sa istom osnovom adresom)
— tu stranicu snimiš na disk
— obradiš je nekim programom, i izvučeš odgovarajuća imena
[ jandearc @ 08.07.2003. 19:02 ] @
Mudro zboris, probacu i to. Nikada mi ne bi palo na pamet. Moram priznati da je ovaj forum cudo, ...kud ne dodjoh ranije :}
[ tOwk @ 10.07.2003. 14:40 ] @
Ako ti već to rešenje odgovara, možeš da radiš i sledeće: preuzmeš program wget, i uradiš jedan

wget -r -l1 -np http://www.sluzbenilistBiH/neki_folder/

I on ti sve te fajlove smesti na lokalni disk u direktorijum www.sluzbenilistBIH/neki_folder