抓取天气脚本

#!/bin/bash

IFS='|'

wget -nc -q http://www.weather.com.cn/data/list3/city.xml

printf '\n' >> city.xml

sed 's/,/\n/g' city.xml |

while read id name
do
    printf "id:%s,name:%s\n" $id $name
    wget -nc http://www.weather.com.cn/data/list3/city$id.xml
    printf '\n' >> city$id.xml
    sed 's/,/\n/g' city$id.xml |
    while read m n
    do
        printf "m:%s,n:%s\n" $m $n
        wget -nc http://www.weather.com.cn/data/list3/city$m.xml
    done
done

exec 1>fil.txt

sed -e 's/,/\n/g' -e '/^$/d' *.xml | sort -t '|' -k1.1,1.5 |

while read id name
do
    case ${#id} in
    2)
        sheng=$name
        ;;
    4)
        shi=$name
        ;;
    6)
        xian=$name
        printf "%s|%s|%s|%s\n" $sheng $shi $xian $id
        ;;
    *)
        echo "error cityid length"
        ;;
    esac
done

你可能感兴趣的:(抓取天气脚本)