Eli jotain ohjelman tapaista olisin vääntämässä, tarkoituksena olisi, että 'ohjelma' hakee minulle www-sivulta jonkun TIETYN tiedon, eikä esimerkiksi koko sivua. Tärkeää olisi myös, että 'ohjelma' osaisi päivittää näitä tietoa n. 3 sekunnin välein.
Apuja, millä ohjelmalla pääsen alkuun ja mistä löydän ohjeita, kiitos!
Apuja, millä ohjelmalla pääsen alkuun ja mistä löydän ohjeita, kiitos!
Vastaukset 8
Vanhimmat
ftp://ftp.gnu.org/pub/gnu/wget/
Otat tuolta wgetin sorsat, niist on jotain apuu.
tutkaile tiedostoa http.c,
Käy koko www-sivun teksti läpi ja etsi jotain määrättyä merkkijonoa.. Ja sitten määrittele että otat talteen siitä merkkijonosta esim seuraavan rivin jolle sijoitat tarvitsemasi tiedon.. Ja tätä pyörität 3 sec välein.
Vaikuttaisi vähän siltä, että C:n käyttö on hieman liioiteltua. Kerro mitä haluat tehdä, niin asiaan löytyy todennäköisesti joku hyvinkin simppeli ratkaisu (ainakin, jos käyttää Linuxia/UNIXia..).
Mainitaan myös vielä, että jos haet joltain palvelimelta sivuja kolmen sekunnin välein pitkän ajan kuluessa, niin hyvin suurella todennäköisyydellä pääset jollekin kieltolistalle, jos asia ei ole tiedossa palvelimen ylläpitäjällä.
Haluan vain hakea tietyltä www-sivulta TIETYN tiedon, käytetään nyt esimerkkinä vaikka tämän palstan ylimmän otsikon otsikkoa. Se miltä sivulta haen tuon tiedon, on täysin laillista eli siihen ei liity mitään laitonta. Tarkoituksena on lähinnä laittaa tämä 'ohjelma' hakemaan monesta eri paikasta tietoja itse ohjelmaan, näin ollen minun ei tarvitse mennä ympäri tätä sivustoa. Toivottavasti tämä hieman selvensi asiaa.
Se tässä vähän onkin hassua, että minulla ei ole mitään tietoa mitä ohjelmaa käyttäisin tai miten pääsisin alkuun. Excelillä koitin vähän kikkailla, mutta se hakee koko sivun eikä muutenkaan taida olla soveltuva tähän tarkoitukseen.
En epäillytkään asian laillisuutta, vaan mainitsinpahan vain, sillä onhan noita kieltolistoille päässeitä osoitteita ollut ennenkin liian tiheistä hakupyynnöistä johtuen.
Ensin kannattaa katsoa sen sivun lähdekoodi. Jos haluttu rivi on aina samassa paikkaa ja samantyyppinen, niin luet vain ne rivit mitkä ovat tätä muotoa ja lopetat heti tullessasi oikeaan kohtaan. Monesti halutun tiedon sijainti muuttuu, mutta se on silti jossain ennalta arvattavassa paikassa, esim. tilanne missä halutaan kaikki mitä tulee title-tagin jälkeen ja ennen ensimmäistä h2-tagia. Tällöin luetaan kunnes title-tulee vastaan, ja otetaan kaikki talteen, kunnes h2 tulee vastaan ja lopetetaan.
Tietämättä täsmällistä sivua ja tavoitetta on vähän vaikeaa antaa suoraa vastausta, mutta itse olen tehnyt samantyyppisiä juttuja Linuxissa dumppaamalla sivun lynxillä (lähdekoodin saa optiolla -source ja sivun tekstinä optiolla -dump) tai netcatilla. Tuloksena saatava tieto tulkitaan sitten tarvittaessa vielä yleisillä tekstinmuokkaukseen käytettävillä työkaluilla (sed, grep, perl, cut, awk, ..). Excelistä päätellen käytät Windowsia, joten sille en osaa antaa mitään samantyyppisiä vinkkejä, mikäli sinulla ei ole vastaavanlaisia ohjelmia siihen. Todennäköisesti tekisin homman perlillä, jos käyttäisin Windowsia.
Keksin nyt tälläisen esimerkin, eli haluaisin hakea joltain pörssisivulta esimerkiksi Nokian sen hetkisen kurssin, mitähän ohjelmaa minun kannattaisi käyttää? Ja paljonkohan tälläiset ohjelmat maksavat vai jaetaanko näitä ihan laillisesti netissä?
Kiitos, jos joku osaa auttaa.
Niin ja käytän Windowsia, en linuxia.
Ei kannata tälläistä lähteä c:llä koodaamaan. Sama asia kuin puhelinhuoltomies käyttäisi iskuporakonetta kännykän ruuvien kiristämiseen.
Hae wget -ohjelmalla se sivu ja parsi se olennainen data esiin vaikka perlillä, pythonilla, awkilla tms.
Kolmen sekunnin viiveen saat vaikka sleep komennolla.