Hmm. Olen tässä fiksaillut reittiopas-komentoani, jolla saan komentoriviltä haetuksi reittejä reittioppaasta. Ja kun reittiopas on skriptaajan näkökulmasta huonontunut (esim. reittitaulukot on nykyään toteutettu stylesheeteillä ja div-elementeillä varsinaisten taulukoiden sijaan), tuli mieleen, pitäisikö oikein käyttää APIa kun sellainenkin ehkä on. Mutta sitä ei käytetäkään noin vain, ovat huolissaan tietokantakuormituksesta:
http://developer.reittiopas.fi/pages/fi/http-get-interface-version-2.php
... joten käytetään sitten sitä webbipalvelua, ehkä se on oikeasti niille kevyempää jos käytän niiden A-tähti-algoritmia?
Tässä se koodikin on:
ro() { keya="`echo $1 | sed -e 's/ /+/g;s/koti/mikroskooppikuja+2/'`" keyb="`echo $2 | sed -e 's/ /+/g;s/koti/mikroskooppikuja+2/'`" url='http://m.reittiopas.fi/fi/index.php?mod=rs&jsEnabled=0' url="$url&select-from=OFF&isFromSearch=OFF&txtFrom=$keya&fromCoord=" url="$url&select-to=OFF&isToSearch=OFF&txtTo=$keyb&toCoord=" url="$url&is-now=ON&hour=`date +%H`&minute=`date +%M`&timetype=departure" url="$url&day=`date +%d`&month=`date +%m`&year=`date +%Y`" url="$url&cmargin=3&wspeed=100&route-type=fastest&stz=0&nroutes=3" url="$url&bus=bus&tram=tram&metro=metro&train=train&uline=uline&service=service&search=Hae+Reitti&is-advanced=OFF" wg -r "$url" \ | egrep -o '<div class="(Tiny|(Two|Three)QuarterColumn)Box">([^<]|<[^/]|</[^d]|</d[^i])*</div>' \ | sed '/TinyBox/s/^/<tr>/;/ThreeQuarter/s#$#</tr>#;s/<div class="[^"]*">/<td>/;s#</div>#</td>#;1s/^/<table>/;$s#$#</table>#' \ | w3m -T text/html -I utf-8 -dump }
... ja tuo wg jota se käyttää on siis komentoriviselain jonka voi korvata ihan hyvin vaikkapa komennolla curl.