版权声明:转载请注明出处! https://blog.csdn.net/zongf0504/article/details/86633401
在自媒体时代, 为了增加自己博客的访问量, 写了一个自动化访问博客的脚本. csdn 做了限制, 一分钟之内的重复访问不记录次数, 所以笔者设置了访问时间间隔为60秒, 即60秒访问一次.
1. 访问博客脚本
- 脚本名称: refresh-csdn-blog.sh
#!/bin/bash
#Desc 刷新博客访问量, 接收多个参数:博客id
#Auth zongf
#Date 2019-01-24
# 校验参数
if [ $# -lt 1 ]; then
echo "[error] 命令需提供博客id"
exit 1
fi
# csdn博客文章id, 访问地址
url="https://blog.csdn.net/zongf0504/article/details"
userAgent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0"
refer="https://www.baidu.com"
# 刷新间隔
interval=60
#访问
access_blog(){
local blog_id=$1
local blog_url=$url/$blog_id
# 清空文件
local blog_file="csdn.$blog_id"
rm -f $blog_file
# 访问网址
curl -A "$userAgent" -o $blog_file -O $blog_url &>/dev/null -e $refer
# 提取包含阅读数的行
line=`cat $blog_file | grep "阅读数:" `
# 提取阅读数关键信息
views=`expr "\'$line\'" : '.*\(阅读数.*\)<.*'`
echo " 网址:$blog_url, $views"
}
# 记录执行次数
num=0
while [ 1 > 0 ];
do
# 访问次数自增1
let num=$num+1
# 访问所有文章
echo "[`date +'%Y-%m-%d %H:%M:%S'`]-第$num次访问:"
for id in "$@"
do
access_blog $id
done
# 休眠
sleep $interval
done
2. 调用示例
$ ./refresh-csdn-blog.sh 86629034 86419497
[2019-01-24 21:14:28]-第1次访问:
网址:https://blog.csdn.net/zongf0504/article/details/86629034, 阅读数:125
网址:https://blog.csdn.net/zongf0504/article/details/86419497, 阅读数:43
[2019-01-24 21:15:31]-第2次访问:
网址:https://blog.csdn.net/zongf0504/article/details/86629034, 阅读数:126
网址:https://blog.csdn.net/zongf0504/article/details/86419497, 阅读数:44