linux wget爬虫命令,wget 和 curl

> 查看网站URL是否正常最常见的方式莫过于使用 wget 和 curl 工具来获得网站的 URL 的信息,这个两个工具非常的强大;

## 1.1 wget 命令

`这个命令的参数非常的多,至少也有数 10 个参数 `

- wget:下载网页或者文件的工具命令

* --spider 模拟爬虫的行为去访问网站, 但是不会下载网页

* -q, --quit  安静的访问, 禁止输出,类似 -o /dev/null 的功能

* -o, --output-file=FILE; 记录输出到文件

* -T, --timeout=SECONDS 访问网站的超时的时间

* -t  --tries=number 当网站异常时重试的次数

`实时监控的方式:(利用放回值确定网站是否正常) `

wget --spider -T  5  -q  -t  2  www.baidu.com  (这个命令会wget 会后台爬取网站)

echo $?  => 输出 0 标示上个命令执行正常

## curl: 访问网站 url

* -I / --head 显示响应头的信息

* -m / --max-time `seconds` 访问超时的时间

* -o / --output `file` 记录访问信息到文件

* -s / --silent  沉默访问模式, 就是不输出信息

* -w / --write-out  `format` 以固定的格式输出, 例如: %{http_code}, 输出状态码

`实时监控的方式如下`

1: 利用命令放回值,确定网站是否正常

curl -s -o /dev/null  www.baidu.com

echo $? => 确定输出 为 0

2: 获取状态码 (200 标示正常) curl  -I -m 5 -s  -w ''%{http_code} \n '  -o /dev/null www.baidu.com

- 使用shell 脚本监控指定的 url 是否正常

```sh

#!/bin/sh

# help 信息

function usage() {

echo $"usage: $0 url";

exit 1;

}

function check_url (){

#  $1 是传入的参数 url

wget --spider -q -o /dev/null --tries=1 -T 5 $1

# curl -s -o /dev/null $1

if [ $? -eq 0 ] then

echo "$1 success";

exit 1;

else

echo "$1 fail";

exit 0;

fi

}

function main() {

# 如果传入的多个参数,则打印帮助函数,提示用户。

if [ $# -ne 1 ] then

usage

fi

# 接收函数的传参,即把结尾的 $* 传到这里。

check_url $1

}

# 这里的 $* 就是把命令行接收的所有参数作为函数参数传给函数内部,常用手法。

main $*

```

- 脚本二 使用 curl 获得响应状态码来判断网站是否正常

```sh

#!/bin/zsh

# 打印 help 信息

function usage() {

echo $"usage: $0 url";

exit 1;

}

function check_url (){

local num = `curl -I -m 5 -s -w "%{http_code}\n" -o /dev/null $1 | egrep "30[12]|200" | wc -l`;

if [ $num -ge 1 ] then

echo "$1 is success";

else

echo "$1 is fail";

fi

}

function main() {

# 如果传入的多个参数,则打印帮助函数,提示用户。

if [ $# -ne 1 ] then

usage

fi

# 接收函数的传参,即把结尾的 $* 传到这里。

check_url $1

}

# 这里的 $* 就是把命令行接收的所有参数作为函数参数传给函数内部,常用手法。

main $*

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值