wget nyűgöm van

Fórumok

Sziasztok!

Szeretném bizonyos időközönként leszedni a met.hu honlapról a radartérképet a következő paranccsal (persze a hivatkozás mindíg más lesz, de ez most nem probléma):

wget http://www.met.hu/getfile.php?dp=d&u=1&f=YJFIeqqoqrwoaqiwys4GA --output-file=/tmp/radar.jpeg

Viszont így csak egy 2 bájtos állomány jön létre, maga a kép nem borul le. Van valakinek valami ötlete, hogy mi a fittyfene lehet a baja?

Köszi!

Hozzászólások

Hát én a linkre kattintva egy üres fehér oldalt kaptam a FerifoX-ban ;~))
Biztos jó a link?

/mazursky

Na akkor innentől kezd érdekessé válni a dolog... No akkor itt a lap, amiről a képet szedném:

http://www.met.hu/omsz.php?almenu_id=weather&pid=kepek&pri=3&mpx=0&kps=1

Még mindíg rejtély azonban, hogy miért jön be a kép nekem, és nektek miért nem?!

A 2 bájt konkrétan egy üres fájl, a wget hibátlanul lefut...

+1 Nálam is ez a helyzet, előtte nem működött a link (http://www.met.hu/getfile.php?dp=d&u=1&f=YJFIeqqoqrwoaqiwys4GA), most, hogy megnéztem a http://met.hu-ról a radartérképet működik.

Tipp: Az oldal valamiféle azonosítást alkalmaz.
_______________________________________________
Keep It Arch Linux | Simple Xfce | Stupid! Fluxbox

A shell értelmezi a & karaktert, ami miatt az előtte lévő parancs háttérben fog futni.


wget 'http://www.met.hu/getfile.php?dp=d&u=1&f=YJFIeqqoqrwoaqiwys4GA' --output-file=/tmp/radar.jpeg

na most megpróbáltam így is ahogy írod, aposztrofokkal:

wget -vO ./radar.jpeg 'http://www.met.hu/getfile.php?dp=d&u=1&f=YJFIeqqoqrwoaqiwys4GA'

Ez az eredmény:
tuning@tuninggepe:~/bin$ wget -vO ./radar.jpeg 'http://www.met.hu/getfile.php?dp=d&u=1&f=YJFIeqqoqrwoaqiwys4GA'
--09:34:31-- http://www.met.hu/getfile.php?dp=d&u=1&f=YJFIeqqoqrwoaqiwys4GA
=> `./radar.jpeg'
IP keresés www.met.hu... 84.206.25.186
Connecting to www.met.hu|84.206.25.186|:80... kapcsolódva.
HTTP kérés elküldve, várom a választ... 200 OK
Hossz: nem megadott [text/html]

[ <=> ] 2 --.--K/s

09:34:31 (198.47 KB/s) - `./radar.jpeg' saved [2]

Tehát ismét 2 bájt... :-S

--save-cookies file
Save cookies to file before exiting. This will not save cookies that have
expired or that have no expiry time (so-called ‘‘session cookies’’), but
also see --keep-session-cookies.

--keep-session-cookies
When specified, causes --save-cookies to also save session cookies. Session
cookies are normally not saved because they are meant to be kept in memory
and forgotten when you exit the browser. Saving them is useful on sites
that require you to log in or to visit the home page before you can access
some pages. With this option, multiple Wget runs are considered a single
browser session as far as the site is concerned.

Since the cookie file format does not normally carry session cookies, Wget
marks them with an expiry timestamp of 0. Wget’s --load-cookies recognizes
those as session cookies, but it might confuse other browsers. Also note
that cookies so loaded will be treated as other session cookies, which means
that if you want --save-cookies to preserve them again, you must use
--keep-session-cookies again.

--load-cookies file
Load cookies from file before the first HTTP retrieval. file is a textual
file in the format originally used by Netscape’s cookies.txt file.
[...]

nehany nap mulva valoszinuleg mar nem lesz jo a SESSIONID-ben tarolt session, es ujra semmit nem kapsz. Ezeket a wget kapcsolokat kihasznalva ketto db wget hivassal megoldhatod a problemat (az elso bejelentkezik es kap egy sessionid-t, amit eltarolsz, a masodikkal mehetsz a kepert).

Erdemes meg beallitani a referrert (--referer), es az UserAgentet (--user-agent) hogy ne szurjak ki hogy botbol csinalod.

asd

Ez így működik, a cookie miatt a két letöltés egymás után:


wget -O /dev/null --save-cookies metcookie --keep-session-cookies 'http://www.met.hu/omsz.php'
wget -vO ./radar.jpeg --referer='http://www.met.hu/omsz.php' --load-cookies metcookie 'http://www.met.hu/getfile.php?u=1&f=YJFIeqqoqrwoaqowys4GA'