4 01 2011

抢火车票的脚本

bigCat Posted in Linux - Comment.isBlank

http://www.notedit.com/2010/11/%E6%8A%A2%E7%81%AB%E8%BD%A6%E7%A5%A8%E7%9A%84%E7%A8%8B%E5%BA%8F/

#!/bin/bash
export DISPLAY=:0
URL_58='http://www.58.com/huochepiao/beijing-wuhan/'

CURRENTDIR=$( pwd )
TMPFILE="$CURRENTDIR/$$"
WGET="wget --timeout 30 --tries=1 --limit-rate=50k"

usage()
{
{
echo "first you run $(basename $0) ready"
echo "then you run $(basename $0 ) run"
echo " bula bula~~"
} >&2

}

get_ready()
{
rm -rf *.html
$WGET -O- "$URL_58" |  grep -oE '[0-9]{13}' > 2.html
echo "ready"
}
get_our_tickets()
{

echo "ticket" >> test.txt
$WGET -O- "$URL_58" |  grep -E -A 1 '[0-9]{13}'
| sed -e 's/--//g' -e 's/ //g' -e '/^$/d' > 3.html
cat 3.html | grep -oE '[0-9]{13}' > 4.html
cat 3.html | grep -oE '[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}'
> 5.html
paste 4.html 5.html >6.html
while read line;do
id=$( echo $line | awk '{ print $1 }' )
day=$( echo $line | awk '{print $2 }' )
if grep -qF "$id" 2.html;then
continue
else
notify-send "you get a ticket" "$day"
echo $id >> 2.html
fi
done < 6.html

}

touch "$TMPFILE"

arg=$1

if [[ -n $arg ]];then
case $arg in
ready)
get_ready
;;
run)
get_our_tickets
;;
esac
fi

Host: (miao) | Word: Press | Code: bigCat | Valid: HTML5