4
01
2011
抢火车票的脚本
bigCat Posted in Linux - Comment.isBlankhttp://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