写一个shell脚本每隔2小时爬取南京天气情况
时间: 2023-11-18 17:45:47 浏览: 261
好的,以下是一个简单的shell脚本,用于每隔2小时爬取南京天气情况:
```shell
#!/bin/bash
while true
do
# 获取当前时间
current_time=$(date "+%Y-%m-%d %H:%M:%S")
# 输出当前时间
echo "当前时间:$current_time"
# 爬取天气情况
weather=$(curl -s https://www.tianqi.com/nanjing/)
# 提取天气情况
weather_info=$(echo "$weather" | grep -oP '<dd class="wea">.*?\<\/dd\>' | sed 's/<[^>]*>//g')
# 输出天气情况
echo "南京天气情况:$weather_info"
# 休眠2小时
sleep 7200
done
```
解释一下上面的脚本:
- 第1行:指定脚本使用的shell解释器为bash。
- 第3-9行:使用一个无限循环,每次循环会执行以下操作:
- 第6行:获取当前时间。
- 第9行:使用curl命令爬取南京天气情况的网页内容。
- 第12行:使用grep命令和正则表达式提取网页内容中的天气情况信息。
- 第15行:使用sed命令去除天气情况信息中的HTML标签。
- 第18行:输出天气情况信息。
- 第21行:使用sleep命令休眠2小时,然后循环继续。
你可以将上述脚本保存为一个文件,比如`get_weather.sh`,然后在终端中执行以下命令:
```
chmod +x get_weather.sh
./get_weather.sh
```
这样就可以启动脚本并开始爬取南京天气情况了。如果想要停止脚本运行,可以使用`Ctrl+C`组合键。
阅读全文