Гледајући јутрос курс € ради уплате рате кредита преко нета, сине ми сјајна идеја — сервис курсна листа на друштвеној мрежи Twitter.
Од септембра 2024. глодине бот Курсна листа доступан је и на Блускају @kurs381.bsky.social, а од фебруара 2023. године на Мастодон инстанци https://mas.to/@kurs
Сврха
Могу рећи да је удео у овој идеји имао Миланов чланак „Курс евра – још превараната“.
Наиме, неко се досетио, мада није први, да уз месечну претплату на ваш мобилни претплатнички број доставља СМС у коме примаоца обавештава о сутрашњем курсу еура, и то два пута дневно — први пут до 14:30 и други пут до 18:30.
Да одмах сузбијем теорије завере: на веб страници Народне банке Србије свакодневно се објављује незванични сутрашњи (индикативни) курс динара најкасније до 14:00 сваког радног дана НБС, одн. званични сутрашњи курс динара до 18:00 сваког радног дана НБС. Више информација о индикативном курсу.
Неколико тренутака касније, отворио сам рачун са називом „kurs“ који је доступан на адреси https://twitter.com/kurs .
Чему ово? Окорели твитераши, а и они мање тврдокорни, вероватно могу да претпоставе сврху — сваког дана у одређено време, твитераши који прате Курсну листу, добијају информацију о вредности евра према следећем распореду:
- у 08:05 сваког дана званични курс — продајну, средњу и куповну вредност евра, долара, швајцарца и фунте;
- у 14:05 незваничну средњу вредност евра за наредни дан, одн. за понедељак ако је тренутни дан петак, субота или недеља;
- у 18:05 званичну средњу вредност евра и долара за наредни дан, одн. за понедељак ако је тренутни дан петак, субота или недеља.
Функционалност
У почетку је цео посао радила BASH скрипта kurs.sh (в. 0.3.5) коју сам наменски написао да помоћу cURL преузимала HTML садржај, SED-ом парсирала податке и шаље на Твитер рачун.
У мају 2014. године скрипту сам портовао у PHP и поставио је на RaspberryPi. Податке такође преузима cURL, али парсирање података ради DOMDocument, према дефинисаним интервалима у системском cron-у.
Због потребе да буде на мрежи 24/7 (а у Србији се повремено дешава да напрасно нестане струја или интернет), скрипту сам у октобру 2017. пребацио на веб сервер где хостујем све моје сајтове.
За све сугестије, критике, похвале и слично… оставите коментар.
Дневник измена
- 1.2.7 (24.09.2024) — додата подршка за @kurs381.bsky.social
- 1.2.6 (30.07.2023) — миграција на Twitter API v2 јер је претходна самостална апликација суспендована 13. јуна 2023
- 1.2.5 (04.02.2023) — рефакторисан изворни кôд и промењено писмо информација на ћирилицу
- 1.2.4 (03.02.2023) — додата подршка за Мастодон инстанцу @kurs@mas.to
- 1.2.3 (05.01.2022) — ажурирани индекси за GBP, CHF и USD
- 1.2.2 (01.01.2022) — прилагођена рутина за званични курс због промене индекса за GBP и USD јер је НБС пре њих додао AED и MKD
- 1.2.1 (30.01.2022) — прилагођена рутина за индикативни курс због промене локације и структуре на веб страници НБС
- 1.2.0 (01.12.2021) — поправљено парсирање валута GBP, USD и CHF јер је НБС додао INR валуту
- 1.1.1 (29.09.2020) — поправљена грешка у парсирању због непостојеће
<html>
ознаке - 1.1.0 (20.05.2020) — рефакторисао изворни кôд да буде компатибилан PSR2 стандарду и имплементирао namespace заједно са осталим Твитер апликацијама
- 1.0.12 (02.01.2020) — решио проблем са редирекцијом приликом повезивања на сајт НБС – сада користе HTTPS протокол; спојио твитове за оба индикативна курса EUR и USD и један твит, као и званични курс за све четири валуте (EUR, USD, CHF и GBP) и један твит
- 1.0.11 (05.08.2018) — додао параметар nocache за cURL позив за индикативни курс да бих спречио парсирање кешираног садржаја
- 1.0.10 (22.02.2018) — поправио индексе за GBP, USD и CHF јер је НБС на дан 1. фебруара 2018 додала још валута (HRK, CZK, HUF и KWD) у табелу стандардног курса zaDevize.faces
- 1.0.9 (15.12.2016) — додао у парсер унапређено препознавање UTF-8 кодног распореда за наслов стране
- 1.0.8 (23.09.2016) — додао параметар nocache за форсирано учитавање актуелне странице (заобилажење локалног механизма за кеширање)
- 1.0.7 (12.12.2015) — стандардизовао изворни кôд, оптимизовао кôд искључивањем непотребних акција, избацио курс за RUB и спојио курс за EUR и USD у један, а CHF и GBP у други твит
- 1.0.6 (16.01.2015) — синхронизовао парсер са новим изменама у структури НБС табела
- 1.0.5 (21.12.2014) — решио проблем са латиничним словом „Č“ у облику HTML ентитета Č
- 1.0.4 (20.12.2014) — додао проверу да се не шаље твит ако је празан услед недоступног сајта НБС
- 1.0.3 (10.10.2014) — додао руску рубљу (RUB), у складу са актуелним политичким дешавањима
- 1.0.2 (05.10.2014) — променио редослед слања твитова тако да се EUR шаље последњи да би био први видљив на лајни
- 1.0.1 (27.05.2014) — преместио скрипту на локални RaspberryPi
- 1.0.0 (17.05.2014) — портовао скрипту у PHP
- 0.3.6 (23.01.2013) — додао подршку за SSL
- 0.3.5 (31.05.2012) — додао заокруживање индикативног курса на 4 децимале
- 0.3.4 (31.05.2012) — избацио употребу bc-а
- 0.3.3 (30.05.2012) — додао извештај о индикативном курсу за USD и унапредио JSON
- 0.3.2 (30.05.2012) — ускладио са додатим OPG форматом индикативног курса
- 0.3.1 (25.03.2012) — додао излаз у JSON
- 0.3.0 (13.11.2011) — додао извештај за USD, CHF и GBP
- 0.2.3 (26.10.2011) — побољшао BASH синтаксу, додао wget као алтернативу за cURL, заменио fromdos са sed
- 0.2.2 (03.07.2011) — ускладио са новим форматом индикативног курса
- 0.2.1 (02.09.2010) — слање статуса са TTYtter и OAuth
- 0.2.0 (30.07.2010) — прилагодио парсер новом формату URL адреса НБС
- 0.1.9 (03.08.2009) — променио формат исписа тако да прво исписује курс па тек онда информативни текст
- 0.1.8 (31.07.2009) — решио проблем претварања формата прибављене датотеке у UNIX за индикативни курс
- 0.1.7 (29.05.2009) — прилагодио скрипту за рад на веб серверу
- 0.1.6 (04.12.2008) — прилагодио изворни кôд у складу са POSIX стандардима
- 0.1.5 (07.11.2008) — поправио кодирање префикса позитивне промене курса и замењен (+0) у (непромењено)
- 0.1.4 (05.11.2008) — отклонио недостатак код разлике индикативног курса: +.n → +0.n
- 0.1.3 (04.11.2008) — додао префикс за разлику тренутног и индикативног средњег курса EUR (+/-)
- 0.1.2 (03.11.2008) — додао разлику тренутног и индикативног средњег курса EUR
- 0.1.1 (01.11.2008) — додао функцију за форматирање излаза на локални хаб
- 0.1 (31.10.2008) — иницијална јавна верзија са функцијом за слање података на twitter.com/kurs
- 0.0.1 (31.10.2008) — интерна пробна верзија са могућношћу добијања индикативног средњег курса EUR за радни дан који следи, као и званични куповни, средњи и продајни курс EUR за текући дан
Super si ovo smislio!
A ti si taj :)
Lepo :)
Super, super :)…
Свака част за идеју, поздрављам.
Ја сам све уплате решио много лакше, има нешто се зове „трајни налог“ :P
@Вуле: Трајни налог имам само за телефон. Шта још може преко трајног?
Струја, вода, грејање, гас, кредити…
Odlična ideja Urke ;)
Jel mozes da dodas i US$ ?
@Igor: Могу да додам све валуте које НБС „нуди“, само треба да се јави више људи и то тражи. С тим што за остале валуте нема индикативног курса већ само званичног.
Тренутно је ово овако оптимално, али ако буде већа потражња, није проблем никакав. Не бих само да претрпавам подацима. Иницијално сам правио заеуро, долар и швајцарски франак, али је у етар отишао само еуро (обзиром да се код нас највише корити :) )
Sve pohvale za odličnu ideju, skriptu i twitter realizaciju :)
FANTASTIČNO MAJSTORE!!!! SVE POHVALE :)
Čestike ! :)
shmrc…za hardver…a lepo sam stavila twitter applications sa firefox-a na desktop i mnooogo mi je prakticno…nadam se da ce uskoro biti :)
Daj bratac malo opshirniju tutorijal, kako da setapujem moj rss za ovu skriptu?
@Vanjezi: Хм, како мислиш да сетапујеш? RSS за курс твитове је http://twitter.com/statuses/user_timeline/17081673.rss ако на то мислиш?
@Aleksandar: Ne mislim na skriptu koja kupi moj rss sa foruma i postuje ga na twitter :) Ja trenutno kostisim neku free bla bla bla web skriptu http://rss2twitter.com/ ali ide na svakih 30min i postuje max 5 twita, tako da mi promakne dosta threada u udarnim terminima
@Vanjezi: Ах, то је најбоље или да изгуглаш готову скрипту која то ради (требало би да има) или да је напишеш сам. Скрипте за курс и време не користе RSS већ жваћу HTML кôд, са RSS-ом је то много лакше јер имаш гомилу класа за разне језике које посао парсирања обављају у лету, а после је подацима из променљивих једнсотавно баратати и слати их на твитер, најлакше преко cURL-а.
@Aleksandar: Verovao ili ne nema na gugleti, missim ima al su predvidjene za blogove, sa ne tako chetim updaejtom sadrzhaja, na svakih 10 min recimo, Jel mozhesh onako grubo da mi kazhesh, kako bih to mogao da odradim, poshto znash da moje mogucjnosti nisu velike :)
@Vanjezi: Рецимо скрипта која узима РСС извор, парсује га, формира твит и шаље преко cURL-а на предвиђени твитер налог. Онда ту скрипту убациш у crontab да се извршава на рецимо 1 минут.
У зависности који језик изабереш, зависи и које ћеш додатне алатке да користиш. Ако је у питању PHP погледај http://www.webresourcesdepot.com/php-rss-parsers/ и http://www.php.net/curl
ne menjaj više dizajn :) sad sam bila zbunjena, jer sam naišla na još jednu kursnu listu i vidim nije tvoja :(
http://twitter.com/#!/kursnalista
a navikla da tebe pratim :)
Nedavno sam ušao u niche kursnih lista, tj kursa evra pa sam sad baš spazio tvoj twitter profil. Vidim da redovno i aktivno šljaka i dan danas, iako je to sve napravljeno pre nekoliko godina. Takodje sam primetio da imaš i vremensku prognozu na twitteru, sve pohvale za ideje! Ako nije tajna jel bi mogao reći koliko prosečno dnevno ljudi dodje preko twittera za ta 2 profila o kurnoj listi i prognozi vremena? Hvala unapred.
Право да ти кажем, никад нисам погледао нити ме је интересовала та статистика :) Ево сада гледам; број дневних посета на обе странице којима описујем ове сервисе је занемарљиво мало – испод 10. Сервиси раде 5+ година, и то је то.
Hvala puno na odgovoru. I meni jako slabo posete dolazi sa Twittera, pa zato pitam. Tamo su ljudi uglavnom više okrenuti zezanju nego proširivanju znanja i informisanosti.
То заправо зависи од тога ко су пратиоци и какви се твитови сервирају. Пасивни налози (као што су моји сервиси) једноставно не привлаче људе да посете профил, а како линк ака сајту нема у твитовима већ у опису профила, разумљиво је да ће тај линк привући само мали број пратилаца, углавном оних који тек открију или траже нове профиле за праћење.