Author

Topic: Ticker на баше (Read 2143 times)

hero member
Activity: 518
Merit: 500
September 17, 2014, 09:55:35 AM
#1
Решил написать простенький скрипт для отображения последней цены на биржах. Ну как "написать", надергал отовсюду, кое-что свое придумал Smiley
Code:
#!/bin/bash
# Uncomment for proxy (Tor) support
#proxy='--socks5-hostname localhost:9150'
google_cny_file=/tmp/google_cny

if [ ! -f "$google_cny_file" ] || [ `stat -c%s $google_cny_file` != 7 ]; then
google_cny=`curl $proxy -s https://www.google.com/finance/info?q=CURRENCY:CNYUSD | awk '/"l" :/ {match($0, /"l" :/); print substr($0, RSTART +7, 6);}' 2>/dev/null`
echo $google_cny > $google_cny_file
else
google_cny=`cat $google_cny_file`
fi

btcchina_last=`curl $proxy -s https://data.btcchina.com/data/ticker | awk '/last/ {match($0, /last/); print substr($0, RSTART +7, 4);}' 2>/dev/null`
btcc_usd=`echo "scale=0; ($btcchina_last*$google_cny)/1" | bc`
bitstamp_last=`curl $proxy -s https://www.bitstamp.net/api/ticker/ | awk '/last/ {match($0, /last/); print substr($0, RSTART +8, 3);}' 2>/dev/null`
btce_last=`curl $proxy -s https://btc-e.com/api/2/btc_usd/ticker | awk '/last/ {match($0, /last/); print substr($0, RSTART +6, 3);}' 2>/dev/null`
echo $bitstamp_last $btce_last $btcc_usd

1. Зависимости: bash, curl, awk, bc
2. Результат - через пробел отображаются курсы бирж bitstamp, btc-e, btcchina в долларах без дробной части
3. Для btcchina идет конверт в доллары, курс юаня берется в гугле и записывается в /tmp, далее читается локально, если есть
4. Tor лучше не использовать, cloudflare совсем оборзел и блокирует все запросы

Smiley
Jump to: