每天清晨来自服务器的问候

无聊,写了个每天获取cs:go价格并通过邮件发送给我的程序。

上脚本:

#!/bin/bash
tempXMLFile=~/temp/temp/temp.xml
logFile=~/temp/temp/log
tempFile=~/temp/temp/temp
jarFile=~/temp/temp/Untitled.jar

date >> $logFile
curl "http://store.steampowered.com/app/730/CounterStrike_Global_Offensive/" > $tempXMLFile
echo "curl result = $?" >> $logFile
java -jar $jarFile $tempXMLFile > $tempFile
cat $tempFile >> $logFile
echo >> $logFile
cat $tempFile | heirloom-mailx -s "CS:GO today's price" xxxxxxx@xxxxx

主要是三个部分,curl 获取网页,然后java程序解析出价格,最后邮件发送价格。其中值得注意的是,由于我在crontab里用的是这个脚本,所以很多文件用了绝对路径,现在現這么做,以后再把坑补上

java部分使用了Jsoup框架,这个框架解析html非常方便,上源码:

import java.io.File;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class PriceFinder {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try {
            File file=new File(args[0]);
            Document doc = Jsoup.parse(file, "UTF-8", "http://store.steampowered.com/app/730/CounterStrike_Global_Offensive/");
            Element price = doc.select("div[class=\"game_purchase_price price\"]").first();
            System.out.println(price.text());
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
    }

}

至于heirloom-mailx,之前在网上找了很多发邮件教程,感觉还是这个安装和配置比较方便。

明天7:00再看能不能收到邮件。。。乀(ˉεˉ乀)


额。。。,收到是收到了,但没内容。。。
研究了一下,发现是找不到java命令。。。。(无语)
把java改成绝对路径之后就成功了。。

你可能感兴趣的:(每天清晨来自服务器的问候)