使用 gnuplot 跟踪 kaifulee 的粉丝变化

gnuplot 虽然有 gnu 三字,但是并不属于 GNU,前者是 copyright 的。但是 gnuplot 仍然可以自由分发使用。这里是官方给出的 manual。

这里是 DW 上对 gnuplot 的介绍;这里是其中文使用手册;这里是一个非常详尽的系列手册以及快速入门(1,2)。

RTFM 之后,实践使用下面这个脚本来统计 kaifulee 在 weibo.com 上粉丝数的变化(1 月 22 日 – 1 月 28 日)。


$ cat kaifulee.sh

#!/bin/bash

DIR=/var/tmp
FOLLOWER_FILE=$DIR/kaifulee-follower.txt
IMAGE=$DIR/kaifulee.png

URL="http://weibo.com/kaifulee"

FOLLOWER=$(curl  -s http://weibo.com/kaifulee  | grep '<strong node-type=\\"fans\\">.*<\\/strong>' -Eo | awk -F ">" '{print $2}' | awk -F "<" '{print $1}')

echo $FOLLOWER | if ! grep ^[0-9].*$ > /dev/null 2>&1;
then
        echo "weibo.com happened an error"
        exit 1
fi

TIME=$(date +%m:%d:%H)
echo -e "$TIME\t$FOLLOWER" >> ${FOLLOWER_FILE}
$DIR/gnuplot.sh $FOLLOWER_FILE $URL "Date" "Followers" $IMAGE

$ cat gnuplot.sh
gnuplot << EOF
set term png
set title "$2"
set xlabel "$3"
set ylabel "$4"
set output "$5"
set autoscale
set grid
set xdata time
set timefmt "%m:%d:%H"
set xrange ["01:20:00":"01:29:00"]
set format x "%m:%d:%H"
set style data lines
set yrange [10720000:10835000]
set format y "%.0f"
set mytics 2
set ytics 10720000,1000,10835000
plot "$1" using 1:2
quit
EOF