linux shell 跟踪网站变动

用Bash脚本跟踪网站变动意味着要在不同的时间检索网站,然后用diff命令进行比对。我们可以使用curl和diff来实现。

脚本如下:

#! /bin/bash

#文件名:change_track.sh

#用途:跟踪网页更新

 if [ $# -ne 1 ]

then

        echo -e "Usage: $0 URL "

        exit 1

fi

first_time=0

#非首次运行

if [ ! -e "last.html" ]

then

        first_time=1

        #首次运行

fi

curl --silent $1 -o recent.html

if [ $first_time -ne 1 ]

then

        changes=$(diff -u last.html recent.html)

        if [ -n "$changes" ]

then

                echo -e "Changes: "

                echo "$changes"

        else

                echo -e " Website has no changes"

        fi

else

        echo "[First run] Archiving..."

fi

 cp recent.html last.html

工作原理:

脚本用[ ! -e "last.html" ]检查自己是否首次运行。如果last.html不存在,就意味着这是首次运行,因此要下载网页并将其复制为last.html

如果不是第一次运行,那么脚本应该下载一个新的网页副本(recent.html),然后用diff检查差异。如果有变化,则打印出变更信息并将recent.html复制成last.html。

原文地址:https://www.cnblogs.com/xiangbing123/p/15002297.html