Kako preveriti povezave na spletni strani


Uvod

Če imate na spletni strani veliko število povezav na zunanje strani, se zna kar hitro zgoditi, da boste postavljeni pred neprijetno vprašanje: kako preveriti, če so povezave še delujoče? Razni link checkerji so sicer zelo uporabni, vendar imajo večinoma omejitev števila povezav, ki jih pregledajo. Kako si lahko pomagate sami? Uporabite wget!

Kako začeti?

Najprej potrebujete nameščen wget. Popularne distribucije ga imajo v repozitorijih, lahko ga pa dobite tudi na uradni strani (na voljo je tudi Windows verzija).
Ko imate wget nameščen, se lotite povezav, ki bi jih radi preverili. Ustvarite datoteko povezave.txt in v vanjo shranite povezave, vsako v svojo vrstico. Recimo tako:

povezava1
povezava2
povezava3
itd.

Če imate povezave shranjene v SQL tabeli, je opravilo preprosto, v nasprotnem primeru si pomagajte s PHP skripto

Sedaj odprite terminal in vpišite:


wget -i povezave.txt -t 2 --spider --save-headers -o rezultat.txt

Ukaz ob vsakem času prekinete tako, da pritisnete kombinacijo


Ctrl+C

ali pa enostavno zaprete terminal


Kako deluje?

Ukaz pobere povezave iz datoteke povezave.txt (-i povezave.txt). Nato se poskuša povezati na stran. Ker wget v primeru, da je stran nedosegljiva, poskuša povezavo vzpostaviti 20 krat, smo nastavili, da naj to napravi le dvakrat (-t 2). Ker wget privzeto prenese spletne strani na disk, smo uporabili parameter --spider, ki tega ne napravi. S parametrom --save-headers smo shranili odziv strežnika, vse skupaj pa smo s pomočjo -o rezultat.txt zapisali v datoteko rezultat.txt

Rezultat je približno tak:

--15:11:31-- http://www.3dgamers.com/
=> `index.html'
Razrešuje se www.3dgamers.com... 216.35.123.102
Connecting to www.3dgamers.com|216.35.123.102|:80... priključen.
HTTP zahteva poslana, čakam odgovor... 301 Moved Permanently
Položaj: http://www.fileplanet.com [spremljam]
--15:11:31-- http://www.fileplanet.com/
=> `index.html'
Razrešuje se www.fileplanet.com... 207.38.10.202
Connecting to www.fileplanet.com|207.38.10.202|:80... priključen.
HTTP zahteva poslana, čakam odgovor... 403 Forbidden
15:11:31 NAPAKA 403: Forbidden.

--15:11:31-- http://www.avault.com/
=> `index.html'
Razrešuje se www.avault.com... 208.16.236.69
Connecting to www.avault.com|208.16.236.69|:80... priključen.
HTTP zahteva poslana, čakam odgovor... 200 OK
Dolžina: nedoločen [text/html]
200 OK

--15:11:32-- http://www.cgonline.com/
=> `index.html'
Razrešuje se www.cgonline.com... 72.47.207.37
Connecting to www.cgonline.com|72.47.207.37|:80... priključen.
HTTP zahteva poslana, čakam odgovor... 200 OK
Dolžina: nedoločen [text/html]
200 OK

S preprostimi postopki (recimo s pomočjo orodja grep) lahko nato izluščite statusne kode, katerih pomen najdete tukaj: HTTP status codes

Pomembne opombe

Nekatere strani imajo blokiran wget in bodo dajale lažne rezultate. Zadevo se da prelisičiti, tako da uporabite drugačen user agent. Več o tem v uradni dokumentaciji (oglejte si user agent)


Copyright 2002-2012 Andrej Mernik, vsa vprašanja na e-mail. Pa še Posebna zahvala. Stran je bojda narejena v skladu s XHTML standardi. Za spremljanje novosti lahko uporabite tudi RSS.