现在的位置: 首页 > 综合 > 正文

用shell 脚本实时获取白银价格

2014年03月19日 ⁄ 综合 ⁄ 共 1269字 ⁄ 字号 评论关闭

最近一直在想做一个小系统,实时获取白银价格,如果达到了自己预期的价格,就发到自己的邮箱,免得自己经常去查看白银价格。

首先在自己的ubuntu 中启用邮件发送功能 

具体操作可见如下链接

http://www.cnblogs.com/xiazh/archive/2011/04/15/2016966.html

中间有一些不是很清楚的地方,主要是配置那些文件是容易出问题,让不熟悉ubuntu的人不是很清楚,可以按照以下方法来

~/.muttrc  中~是ubuntu 的配置目录, .muttrc 是配置文件名

具体配置步骤如下

cd ~

vim .muttrc

.msmtprc   .msmtp.log 都可以像这样来进行配置 

send.sh 

#!/bin/bash
i=1
while(($i<100))
do 
rm index.html
wget -b http://zhibaiyin.zhongguobaiyin.com/ >> mylog
sleep 5
#cat index.html
a=$(cat index.html)
#echo "$a"
b=$(grep JO_42761q59 index.html)
c=$(grep JO_42761q73 index.html)
echo $b
echo $c
k=${c#*>}
k=${k%%<*}
tmp_time=${b#*>}
tmp_time=${tmp_time%%<*}
tmp_time=$(date +%Y-%m-%d-%H:%M:%S)
echo $tmp_time
#k=2
t=3.7
#echo "1.7>1.6" | bc
tmp=$(echo "$k<$t" | bc)
#echo $num1
echo $tmp
t=1
if [ $tmp -eq $t ]
then
 tt="  "
 content=$tmp_time$tt$k
 echo $content | mutt -s "silver price" 1144499969@qq.com
 echo $tmp
 echo $content
fi
echo $k 
sleep 5m
done


从这个网址 http://zhibaiyin.zhongguobaiyin.com/  得到白银价格

用一个死循环 ,5分钟获取一次网页,如果达到了自己想要的价格 就发邮件到指定的邮箱 

再写一个启动shell 在后台运行 并输出日志

#!/bin/bash
nohup ./send.sh >> mylog &

因为在获取网页时会产生比较多的日志文件,可以写个 shell 脚本来进行循环删除

#!/bin/bash
dr=$(pwd)
echo $dr
Str=$(ls wget-log.*) 
for x in $Str; do 
 echo $x
 rm $x
done

至此 这个小系统就差不多了 ,不得不感叹shell 脚本功能的强大。但是在这个网站 http://zhibaiyin.zhongguobaiyin.com/ 上纸白银的价格 静态网页的白银价格更新的比较慢,它们是在浏览器加载之后,再自动刷新白银价格。但是通过这种获取网页再解析网页内容来得到白银价格的方法,不是很好,数据没法做到真正的实时。大家有没有更好的办法,可以在评论里面指导一下,本人不甚感激


抱歉!评论已关闭.