Šta je novo?

Potreban program u javascriptu za automatsko posecivanje sajta

Ikac21

Slavan
Učlanjen(a)
23.12.2005
Poruke
5
Poena
301
Zanima me da da li se u javasriptu moze odraditi web spider odnosno robot!

Meni treba kod koji cu postaviti u neku stranicu na internetu,koji ce na svakih sat vremena otici na odredjenu internet lokaciju.
Primer:
Neka stranica ja javascript kodom bude www.primer1.com,druga stranica na koju ce program u javascriptu koji se nalazi na indexnoj stranici www.primer1.com da ide svakih 30 minuta www.primer2.com!

Ovaj kod u javascriptu na www.primer1.com treba da radi bez ikakve potrebe posetilaca,znaci nezavisno!

Molio bih sve koji znaju u vezi javascript-a da odovore na ovo pitanje!
Unapred hvala na odgovoru!
 
Koliko se ja secam za to ne treba javasript to radi meta tag bez problema

<META HTTP-EQUIV="Refresh" content="X;URL=http://www.adresa2.com/index.html">

x=vrijeme u sekundama

dakle ako je pola sata onda je

<META HTTP-EQUIV="Refresh" content="1800;URL=http://www.adresa2.com/index.html">

dakle posle pola sata od momenta ucitavanja stranice u browser stranica ce sama otici na drugu adresu
 
dakle posle pola sata od momenta ucitavanja stranice u browser stranica ce sama otici na drugu adresu
hoce, posle pola sata, ali ne i posle sat vremena, ponovo, kao sto njemu treba. znaci ucitace novu stranicu posle pola sata, ali ne svakih pola sata, vec samo jednom.

ikac, resenje za kontinuitet koji trazis nije meta tag, a ni javascript (client side coding), vec server side programiranje tipa PHP, ASP, ColdFusion etc. Jedna linija koda + CRON ti resava problem.
 
Moze da se odradi na ovu foru:
1. iz body-ja se pozove neka funkcija koja ce da "posecuje" www.primer2.com svakih xx minuta:
Kod:
<body onLoad="window.setTimeout(ime_funkcije,broj_milisekundi)">
gde je broj_milisekundi u stvari (xx_minuta*60*1000), tj. zeljeni interval u minutima :D

2. sama funkcija koja ide u <head></head>:
Kod:
<script language="JavaScript">
function ime_funkcije(){
  location="http://www.primer2.com"
}
</script>
mada moze sve to da se spakuje u body, ali pretpostavljam da posle treba jos nesto uraditi sa "novoposecenim" linkom, pa je onda bolje da se poziva posebna funkcija za redirekciju...
 
Poslednja izmena:
vazi isto kao i za KGBovo resenje... izvrsice se jednom, location ce ucitati primer2.com, i time sto ce preci na tu stranicu, od tajmera nema vajde...

umesto

Kod:
<script language="JavaScript">
function ime_funkcije(){
  location="http://www.primer2.com"
}
</script>
bi trebalo
Kod:
<script language="JavaScript">
function ime_funkcije(){
window.open("http://www.primer2.com","blank")
}
</script>

tj. otvaranje blanko prozora sa ostajanjem na trenutnom na kojem se kod izvrsava, ali to nece da radi, ako probas u praksi.

a i, nadam se da nisi toliko lud [Ikac] pa da ovo izvrsavas na svojoj masini. prihvati da javascript nije resenje i prebaci se na znatno elegantniji, i tome namenjen, recimo, PHP.
 
U pravu si ;)
Treba ta funkcija da rekurzivno poziva samu sebe, pa sad to treba iskombinovati u zavisnosti sta je krajnji cilj, a moze na primer ovako:
Kod:
<html>
<head>
<script language="JavaScript">
function ime_funkcije(){
  window.open("http://www.primer2.com","blank");
  window.setTimeout(ime_funkcije,3000)
}
</script>
</head>
<body onLoad="ime_funkcije()">

</body>
</html>
 
Poslednja izmena:
U pravu si Treba ta funkcija da rekurzivno poziva samu sebe, pa sad to treba iskombinovati u zavisnosti sta je krajnji cilj, a moze na primer ovako: Code: <html> <head> <script language="JavaScript"> function ime_funkcije(){ window.open("http://www.primer2.com","blank"); window.setTimeout(ime_funkcije,3000) } </script> </head> <body onLoad="ime_funkcije()"> </body> </html>

Kod je super i radi!
Ali na drugom forumu u vezi racunara i svega u vezi njih,neki lik mi je rekao da ni pomocu javascripta ni php-a nema sanse da se uradi ovaj kod koji ja trazim bez interakcije to jest bez ucitavanje stranice na kojoj se nalazi taj kod!

Nije da sam nezahvalan,mnogo hvala na predlozima,ali meni treba kod koji ce bez pokretanje stranice,bez ikakve interakcije,bez potrebe ucitavanja i posete izvrsiti posecivanje nekom odredjenom sajtu!

E tu na scenu stupaju web spideri iliti roboti!
Zanimaju me kavki su to programi i da li ih ja mogu ostaviti na nekom hosting paketu tj na mom sajtu www.primer1.com sa kojeg ce taj program ici na sajt www.primer2.com onako kako mu ja zadam!
 
Mozes to da odradis frejmovima, jedan mali frejm od 1px u kome ce ti pisati neka od datih skripti samo mora da bude upucena na taj donji frejm, i namestis da se poziva na svakih pola sata. Tada ce posetilac fakticki sve vreme biti na tvome site-u, ali ce gledati sadrzaj tog sita sa lokacije primer2.com.
 
Kod je super i radi!
Ali na drugom forumu u vezi racunara i svega u vezi njih,neki lik mi je rekao da ni pomocu javascripta ni php-a nema sanse da se uradi ovaj kod koji ja trazim bez interakcije to jest bez ucitavanje stranice na kojoj se nalazi taj kod!

Nije da sam nezahvalan,mnogo hvala na predlozima,ali meni treba kod koji ce bez pokretanje stranice,bez ikakve interakcije,bez potrebe ucitavanja i posete izvrsiti posecivanje nekom odredjenom sajtu!

E tu na scenu stupaju web spideri iliti roboti!
Zanimaju me kavki su to programi i da li ih ja mogu ostaviti na nekom hosting paketu tj na mom sajtu www.primer1.com sa kojeg ce taj program ici na sajt www.primer2.com onako kako mu ja zadam!

Lele ljudi pomagajte bre,cu da se utepam
 
Evo ti je gotova stranica, koju mozes da prepravljas po zelji, gornji frame stavi da bude 1px i izbrisi onaj sadrzaj "top", a za donju stranicu stavi neku po svojoj zelji, i u kod gornje stranice stavi vreme po zelji i lokaciju koju zelis da se refresuje.
 

Prilozi

  • reload.zip
    1.2 KB · Pregleda: 36
covece, moras malo sam da se snadjes, nemoj ocekivati da ti se bas sve servira na tanjiru. sve ti je receno, ti trazis jos.

da ponovim, javascript ovo ne moze elegantno da uradi, a ne moze uopste, ako hoces da ti to radi bez potrebe za jednim jedinim ucitavanjem stranice, a koliko vidim, ti upravo to hoces. mislim evo, ucinicu ti kontra uslugu, ali je pitanje koliko ces iz toga nesto nauciti:

napravi fajl.php i turi ovo u njega:


PHP:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.ovdestavisajtkojiocesdatiseucitava.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,0);
ob_start(); 
curl_exec($ch); 
curl_close($ch); 
$kod = ob_get_contents(); 
ob_end_clean(); 
echo $kod;
?>

uploaduj na server i ucitaj ga jednom u browseru, cisto da vidis jel ti server ima podrsku za cURL (ako ima, trebalo bi da kao rezultat vidis upravo sajt koji ti se ucitava, sa ******im slikama i puknutim css-om tj. kompletnim formatiranjem stranice)

ako nema tj. ako kao rezultat dobijes bilo sta drugo, vristi (i napisi sta dobijes, naravno!), pa cemo da probamo drugu varijantu (namerno sam ti dao resenje sa cURLom jer je dosta korisna i mocna stvar, pa nije lose da se susretnes sa njim sto pre)

ako ima tj. ako dobijes ono sto rekoh, izmeni fajl.php u ovo:


PHP:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.ovdestavisajtkojiocesdatiseucitava.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,0);
curl_exec($ch); 
curl_close($ch); 
?>

i podesi cron da ti u intervalu koji hoces izvrsava taj fajl i imaces to sto trazis, uz pomoc PHP-a, bez potrebe da bilo sta posecujes u browseru: radice u pozadini, sve dok sam ne ukines taj cron task.

u slucaju da ne znas sta je to, crontab je komanda kod unix sistema kojom se podesava izvrsenje odredjenih zadataka u zeljenom vremenskom periodu, bez interakcije tebe ili korisnika (samim tim te je taj sto ti je rekao suprotno debelo slagao, osim ako pitanje nisi postavio pogresno, pa samim tim svesno ili nesvesno iskljucio mogucnost koriscenja crona) -- podesavas ga ili kroz neki kontrol panel (i.e. cPanel), ako ti je dostupan, ili rucno, na nivou servera, putem same crontab komande (ako ne znas sam ili nemas pristup serveru, sto je verovatnije, trazis od administratora i on ti podesi izvrsavanje fajla koji hoces, kroz program koji hoces [u tvom slucaju /usr/bin/php] i u intervalu koji hoces [1 sat])

p.p.s u prvoj varijanti koda dobijes ekstra promenljivu - $kod - koja ti je u osnovi (HTML) kod koji bi dobio u browseru kao rezultat ucitavanja te stranice (output) -- moze mnogo da ti znaci, ako hoces nesto naknadno da radis posle ucitavanja. a ako ti treba cisto jedan hit (aka poseta), slobodno koristi drugu varijantu.
 
Nazad
Vrh Dno