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:
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!
- 2103 megtekintés
Hozzászólások
Maradva a grep-nel: man grep: -A NUM, --after-context=NUM...
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Szerintem is!
Na hol is van akkor a Balaton szeletem? :DDD
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
Én ezt Ruby-val csinálnám, mert ez áll kézhez. Nokogiri kulcsszóra keress. Gyors, van rengeteg példa hozzá.
- A hozzászóláshoz be kell jelentkezni
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?
- A hozzászóláshoz be kell jelentkezni
que?
- A hozzászóláshoz be kell jelentkezni
Mindegy. Beraktam egy sleepet, így működik.
A probléma az volt, hogy wgettel egy fájlba kimentettem az oldalt. De egyből átugrott a bash script arra a sorra, ahol a kimentett fájlból akartam kiszűrni az adatot. A probléma csak az volt, hogy még nem létezett a fájl.
- A hozzászóláshoz be kell jelentkezni
Ne mentsd le fileba :) Alabbi megoldas _ronda_ de mukodik:
wget -q -O - 'http://www.wunderground.com/history/station/12772/2009/1/1/DailyHistory…' | grep -A2 Max\ Temperature | tail -n 1 | cut -d\> -f3 | cut -d\< -f1
- A hozzászóláshoz be kell jelentkezni
Igen, ezt akartam. Köszönöm.
Nem baj szerintem, ha várakoztatok, mert a végén letiltanak, mivel 3 évet akarok menteni.
- A hozzászóláshoz be kell jelentkezni
Most jobb lenne, ha külön fájlba tudnám lementeni, és addig nem lépne tovább, amíg nem mentette le. Valami ötlet?
- A hozzászóláshoz be kell jelentkezni
+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
- A hozzászóláshoz be kell jelentkezni
subscribe
- A hozzászóláshoz be kell jelentkezni
+1
színes aláírás
- A hozzászóláshoz be kell jelentkezni
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!
- A hozzászóláshoz be kell jelentkezni
mondjuk egy iffel meg tudod nézni, hogy arra a linkre mész-e, amit meg akartál vele etetni eredetileg?
és akkor csak akkor szedje, ha igen...
- A hozzászóláshoz be kell jelentkezni
Azt én is néztem. Ha rákattintasz a linkre, akkor látod, hogy nem dob át más url-re.
- A hozzászóláshoz be kell jelentkezni
jajj, bocsi. közben mást is csináltam, nem figyeltem eléggé. :/
akkor úgy esetleg, hogy a
class="dateMonth"
illetve
class="dateDay"
részeknél melyik sorban szerepel az a szó, hogy 'selected'
- A hozzászóláshoz be kell jelentkezni
Mégis jó lesz, mert van a forráskódban egy link a következő napra, meg az előzőre.
- A hozzászóláshoz be kell jelentkezni
amúgy igen :)
örülök, hogy megoldódik lassan. :)
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
klassz! :D
majd írj hogy mi lett :)
- A hozzászóláshoz be kell jelentkezni
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?
- A hozzászóláshoz be kell jelentkezni
erőszakold bele egy while-ba az egész kócerájt hibaüzenet alapján, hogy addig kezdje szedni újra és újra, amíg nem sikerül.
- A hozzászóláshoz be kell jelentkezni
Most beleraktam egy while-t. Amikor szükség lett volna rá, megakadt. Most újraindítottam és a harmadik évnél jár. Talán végre sikerül egy várost letölteni.
- A hozzászóláshoz be kell jelentkezni
hajrá!
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
na, azt hiszem, erre mondaná szakközepes matektanárnőm, hogy 'hagyd, fiam, az óhéber dumát'...
:)
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
up
a csodaszkript mellékelve: http://pastebin.com/UJZFxpYU
- A hozzászóláshoz be kell jelentkezni
Azt hiszem sikerült!
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni