Weblog Tomasza Przechlewskiego [Zdjęcie T. Przechlewskiego]


scrum
random image [Photo gallery]
Zestawienie tagów
1-wire | 18b20 | 1wire | 2140 | 3rz | alsamixer | amazon | anniversary | antypis | apache | api | applebaum | arm | armenia | astronomy | asus | atom.xml | awk | aws | bachotek | bakłażan | balcerowicz | balta | bash | berlin | bibtex | bieszczady | biznes | blogger | blogging | blosxom | bono | borne-sulinowo | breugel | bt747 | budapeszt | bursztyn | canon | cedewu | chello | chiller | chillerpl | chown | chujowetaśmy | ciasto | cmentarz | contour | cron | css | csv | curl | cycling | d54250wykh | dbi | debian | dejavu | dhcp | dht22 | dia | docbook | dom | ds18b20 | dyndns | dynia | ebay | economy | ekonomia | elka | elm | emacs | emacs23 | english | ess | eu | excel | exif | exiftool | f11 | fc | fc11 | fc15 | fc29 | fc5 | fc8 | fedora | fedora21 | fenix | ffmpeg | finepix | firefox | flickr | folau | fontforge | fontspec | fonty | food | fop | foto | france | francja | fripp | fuczki | fuji | fuse | gammu | garmin | gawk | gazwyb | gdańsk | gdynia | gender | geo | geocoding | georgia | gft | git | github | gmail | gmaps | gnokii | gnus | google | googlecl | googleearth | googlemaps | gotowanie | gphoto | gphoto2 | gps | gpsbabel | gpsphoto | gpx | gpx-viewer | greasemonkey | gruzja | grzyby | haldaemon | handbrake | historia | history | hitler | holocaust | holokaust | hpmini | humour | iblue747 | ical | iiyama | ikea | imap | inkscape | inne | internet | j10i2 | javascript | jhead | k800i | kajak | kamera | kleinertest | kml | kmobiletools | knuth | kociewie kołem | kod | kolibki | komorowski | konwersja | krutynia | kuchnia | kurski | latex | latex2rtf | latex3 | lcd | legend | lenny | lesund | lewactwo | lgbt-folly | liberation | linksys | linux | lisp | lisrel | litwa | lizbona | logika | ltr | lubowla | lwp | lwów | m2wś | malta | mapquest | mapsource | marchew | marvell | math | mathjax | mazury | mbank | mediolan | mencoder | mevo | mh17 | michalak | michlmayr | microsoft | monitor | mp4box | mplayer | ms | msc | mssql | msw | mswindows | mtkbabel | museum | muzyka | mymaps | mysql | nanopi | natbib | navin | nekrolog | neo | neopi | netbook | niemcy | niemieckie zbrodnie | nikon | nmea | nowazelandia | nuc | nxml | oauth | oauth2 | obituary | okular | olympus | ooffice | ooxml | opera | osm | otf | otftotfm | other | overclocking | ozbekiston | panoramio | pdf | pdfpages | pdftex | pdftk | perl | photo | photography | picasa | picasaweb | pim | pine | pis | pit | plotly | pls | plugin | po | podróże | politics | polityka | polsat | portugalia | postęp | powerpoint | prelink | problem | propaganda | pstoedit | putin | python | r | radio | random | raspberry pi | refugees | relaxng | ridley | router | rower | rowery | rpi | rsync | rtf | ruby | rugby | russia | rwc | rwc2007 | rwc2011 | rzym | samba | sem | sernik | sheevaplug | sienkiewicz | signature | sks | skype | skytraq | smoleńsk | sqlite | srtm | sshfs | ssl | staszek wawrykiewicz | statistics | stats | statystyka | stix | stretch | suwałki | svg | svn | swanetia | swornegacie | szwajcaria | słowacja | tbilisi | terrorism | tex | texgyre | texlive | thunderbird | tomato | totalnaopozycja | tourism | tramp | trang | truetype | ttf | turkey | turystyka | tusk | tv | tv5monde | twitter | typetools | ubuntu | uchodźcy | udev | ue | ukraina | umap | unix | upc | updmap | ups | utf8 | uzbekistan | varia | video | vienna | virb edit | vostro | wammu | wdc | wdfs | webcam | webdav | wh2080 | wiedeń | wikicommons | wilno | win10 | windows | windows8 | wine | wioślarstwo | word | wordpress | wrt54gl | ws1080 | wtyczka | ww2 | www | wybory | wybory2015 | włochy | węgry | xemex | xetex | xft | xhtml | xine | xml | xmllint | xsd | xslt | xvidtune | youtube | yum | zakopane | zakupy | zdf | zdrowie | łeba | świdnica | żywność
Archiwum
O stronie
wykorzystywany jest blosxom plus następujące wtyczki: tagging, flatarchives, rss10, lastbuilddatexhtmlmime. Niektóre musiałem dopasować nieco do swoich potrzeb. Więcej o blosxom jest tutaj
Subskrypcja
RSS 1.0
Kursy walut

Już kiedyś kombinowałem z kursami walut używając do tego plugina Firefoxa. Teraz potrzebowałem czegoś co możnaby uruchmić jako skrypt, korzystający przy tym z jakiegoś wiarygodnego źródła danych i to najlepiej poprzez XML/API a nie html scraping (cf. np. Screen scraping with Perl), bo to ostatnie może nagle przestać działać jak się layout strony zmieni. Krótkie rozpoznanie w ww. kierunku dało w rezultacie następujące potencjalne rozwiązania:

1. Skrypt Johna Bokmy działający w oparciu o dane ze strony www.xe.com (wykorzystuje html scraping). Xe.com wygląda -- sądząc po zawartości serwisu WWW -- na renomowaną firmę ale skrypt nie działa, a nawet gdyby działał to Xe.com zabrania korzystania z ich strony w ten sposób (o czym zresztą John Bokma też pisze).

2. Pakiet Perla pn. Finance-Currency-Convert-WebserviceX, korzystający z kolei z danych ze strony webservicex.net. Nie znam firmy Generic Objects Technologies Ltd, która animuje serwis webservicex.net. Ponieważ wydało mi się, że firma nie jest specjalnie wiarygodna -- zapewne niesłusznie -- nie instalowałem ww. biblioteki Perla i szukałem dalej.

3. Pakiet Finance::Currency::Convert::Yahoo. Korzysta z danych Yahoo Finance i wykorzystuje html scraping. Ponieważ do Yahoo mam większe zaufanie, postanowiłem toto wypróbować:

perl -MCPAN -e 'install Finance::Currency::Convert::Yahoo'
perl -e 'use Finance::Currency::Convert::Yahoo; \
  print Finance::Currency::Convert::Yahoo::convert(1,'USD','PLN');'

Wygląda, że działa i to mimo tego, że ostatnia wersja pakietu jest z roku 2005.

4. Dane z NBP udostępnione na stronie www.nbp.pl/Kursy/Kursya.html. Na dole tej strony jest link do pliku XML. Problem przy zautomatyzowaniu pobierania pliku jest z jego nieprzewidywalnie dziwną nazwą, np. a140z080718.xml. Powyższe oznacza, że to tabela o numerze 140 z dnia 2008/07/18. Oczywiście data to pryszcz (bieżąca) gorzej z numerem tabeli, który wydaje się być trudny do wyznaczenia.

Reasumując: niby prosta i potrzebna sprawa ale podejrzanie brak jest serwisu, który by oferowałby konwersję walut via API (wyjątek: webservicex.net, ale imho podejrzany:-). Pozostaje html scraping albo NBP. Google coś tajemniczo nic ,,w tym temacie'' nie ma -- może nieudolnie szukałem.

Dopisane 20 lipca 2008: czytelnik bloga Krzysztof R. (nazwisko do wiadomości Redakcji:-) już wczoraj zwrócił słusznie uwagę, że Przykładowe zapytanie: http://www.google.com/search?q=1 pln in usd&hl=en zwróci następujący ciąg znaków w treści strony: 1 Polish zloty = 0.495565 U.S. dollars. Ciąg ten można łatwo wydobyć przy pomocy wyrażenia regularnego.
Dziękuję za powyższą wskazówkę...

url | Sat, 19/07/2008 16:23 | tagi: , ,