Weboldalról adatmentés

Adott a következő link:
http://www.wunderground.com/history/station/12772/2009/1/1/DailyHistory…

Szeretném letölteni a maximális hőmérséklet adatokat hosszabb intervallumra. Írtam a supportnak, hogy miért nem működik a custom gomb, erre azt írták vissza két hete, hogy köszönik a hibajelentést, amint idejük lesz, csinálják. Már így is elég sokat vártam, szeretném letölteni az adatokat.

A linkből adódik, hogy nem túl bonyolult egyesével letölteni a lapokat egy scripttel, a probléma az, hogy ha letöltöttem az oldalt, akkor hogyan vegyem ki belőle az adatot.
Így néz ki a forráskód a megadott résznél:

  Max Temperature -6 °C 0 °C

Greppel próbálkoztam a "Max Temperature"-ra, de mivel a hőmérséklet adat más sorban van, nem tudom hogy kéne.
köszi!

Hozzászólások

Maradva a grep-nel: man grep: -A NUM, --after-context=NUM...

Inkább Perl + HTML::TableExtract. Most nem tudom kipróbálni, de van egy Balaton szeletem rá, hogy ezzel egyszerűbb.

--
A gyors gondolat többet ér, mint a gyors mozdulat.

Akkor egy harmadik megoldás: A legyegyszerűbb szerintem, ha pythonban írod meg, mert valószínűleg fogsz találni neten valami hasonlót és akkor azt csak át kell javítani.

Annó én is írtam hasonlót ami RSS-ből leszedte a TV műsortés pár perccel a müsor kezdete elött kiírattam libnotify-al. Megjegyzem, hogy akkor láttam elsőnek pythont (azóta sem) és pár óra alatt összehoztam a kódot. Elég sok kész lib van a neten amit fel tudsz használni.

szerk: http://code.google.com/intl/de-DE/appengine/docs/python/urlfetch/overvi… , http://docs.python.org/howto/urllib2.html

Köszi mindenkinek a válaszokat! Próbálkozom a bashhel elsődlegesen. Már csak egy gondom van. Wgettel leszedem az oldalt, de még mielőtt letöltené átadja a következő sornak a futást, amikor még nincs meg a fájl, így nem tudja kiszedni. Mit kéne csinálni?

+1, megelőztél, annyi hogy én a " °C"-re kerestem rá és wget helyett curl-t használnék:

curl 'http://www.wunderground.com/history/station/12772/2009/1/1/DailyHistory.html?req_city=NA&req_state=NA&req_statename=NA' |grep ' °C' | cut -d">" -f3 -s |cut -d"<" -s -f1

A  °C helyén annak html kódja szerepel, csak átalakítja a drupal.
--
http://csuhai.hu
http://sys-admin.hu

Már csak egy gond van. Ha ezt a linket használom, hogy február 31-t megkapjam, akkor átdob március 2-re.

http://www.wunderground.com/history/station/12772/2008/2/31/DailyHistor…

Én úgy számoltam, hogy nem lesz adat, ezért ezek a sorok üresen maradnak.

Lehetne választani, hogy előre végiglépkedek a létező dátumokon, azonban van egy kis probléma ezzel. Vannak olyan napok, amikor szintén nincsenek adatok, mert mondjuk elromlott a mérőállomás, és erre is más napot fog kiadni, is ekkor már újra gond van.

Kinek, milyen ötlete lenne?

köszi!

Most töltöm az adatokat! 2008 február 30 és 31-re rájött, hogy nem jó. A hiányzó adatok esetén még nem tudom, hogyan teljesít.

Az a baj, néha elszáll a kapcsolat, és olyankor nem tudja letölteni a wget az oldalt. Ilyenkor hibáson azt írja ki, hogy nincs adat. Valakinek javaslata?


links2 -dump "http://www.wunderground.com/history/station/12772/2009/1/1/DailyHistory.html?req_city=NA&req_state=NA&req_statename=NA" | grep "Max Temperature"

--
maszili

Sikerült a hőmérséklet adatokat letöltenem. Egy hibaforrást nem tudtam kiszűrni. Hogyha az adott napon nem működött a mérőállomás, akkor oda feltehetőleg fals értéket adott, amit bevett a szkriptem.

Itt augusztus 3-tól van adat:
http://www.wunderground.com/history/airport/LHSN/2010/8/2/DailyHistory…
Sajnos nem tudom, milyen alapon lehetne mondjuk augusztus 2-re azt mondani, hogy ott nincs adat.