海洋CMS在宝塔面板下设置自动采集

这几天玩海洋CMS,发现宝塔面板下无法自动采集,搜了好多教程,现在总算是能自动采集了。

环境 宝塔面板版本:7.1.0 海洋CMS版本:V10

首先我们先登录海洋CMS的后台,在我下图箭头所指的地方右键,选择复制链接。 image.png

先随便放到一个地方,一会要用。

#!/bin/bash
#请修改下面的网站域名及管理目录
web_site="http://(海洋cms的后台地址)/admin_reslib2.php"
   
#请修改下面项内容为"admin_reslib2.php"里设置的访问密码(默认为系统设置的cookie密码)
web_pwd="(此处填写密码)"
   
#下面项内容为资源站每日采集链接地址列表,请自行修改,每行一条,可添加多个,前后需添加引号。
#每日采集链接获取方法:选择"后台-采集-资源库列表",复制资源站右边的"采集每天"的链接地址,去掉?前面的内容。
web_api=(
      '?ac=day&rid=1&url=http://cj.wlzy.tv/inc/s_api_hy_m3u8.php'
)
#模拟用户浏览器ua,请勿随意修改,以免被目标防火墙拦截!
web_ua="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/76.0.3809.100 Safari/537.36 seacmsbot/1.2;"
   
#采集单页
function get_content() {
  echo  "正在采集第$page页..." 
  #echo  " get_content: --->url:--->$1"
  cResult=$(curl  --connect-timeout 10 -m 20  -k -s   -L -A "$web_ua"  "$1" )
  echo $cResult | grep -q "采集"
  #echo  -e  "$1\n$cResult"
 if [ "$?" = "0" ]; then
     next_content "$cResult"
else
    echo  -e "采集失败,请检查设置!\n失败链接-->$1\n返回信息-->$cResult\n采集结束,共0页"
fi 
}
#采集下页
function next_content() {
    #统计数据
     Result=$(echo "$1" | tr "<br>" "\n")
     a=$(echo "$Result" | grep -c  "采集成功")
     b=$(echo "$Result" | grep -c  "更新数据")
     c=$(echo "$Result" | grep -c  "无需更新")
     d=$(echo "$Result" | grep -c  "跳过")
     echo "采集成功-->已更$c部,新增$a部,更新$b部,跳过$d部"
     let add+=$a
     let update+=$b
     let none+=$c
     let jmp+=$d
    #检测并采集下页
     next_url=${1##*location.href=\'}
     next_url=${next_url%%\'*}
      #echo $next_url
      if [ "${next_url:0:1}" = "?" ]
          then
          let page++
          get_content "$web_site$next_url" 
    else
         echo "采集结束,共$page页"
       fi  
}
#脚本入口
echo "海洋CMS自动采集脚本开始执行 版本:v1.2"
starttime=$(date +%s)
update=0  #更新
add=0     #新增
none=0  #无变化
jmp=0  # 跳过
for url in ${web_api[@]}; 
do  
if [[ ! -z $url ]]
     then
           web_param="$web_site$url&password=$web_pwd"
           page=1
           echo "开始采集:$url"
           get_content $web_param
  fi 
done
endtime=$(date +%s)
echo "============================"
echo "入库-->$add部"
echo "更新-->$update部"
echo "跳过-->$jmp部(未绑定分类或链接错误)"
echo "今日-->$[none+add+update]部"
echo "============================"
echo  "全部采集结束,耗时$[endtime - starttime]秒"

然后我们改一下我上边提供的代码。

首先,web_site这个要改成你的域名,加上海洋CMS的那个后台地址,这个地址在每次登录后台都会用的。

然后,web_pwd处,需要你填写你的密码,密码自己设定一个就行,你需要记住他十分钟就可以了。

最后,web_api处你需要,将一开始复制的链接粘贴到两个英文单引号中,需要把问号前边的内容删掉,样式就如同我放在代码中的样子,可以添加多行。

现在这个文件所有需要修改的地方都已经改好了,我们现在将它添加到宝塔面板计划任务中。

image.png

任务类型需要选择Shell脚本,名称随便填,执行周期自己设定,因为我的宝塔面板不知道为什么改不了执行周期,所以我就默认的,一会可以添加完任务之后再编辑任务,如果你没有我发生的问题,添加任务的时候直接改了就行。脚本内容把刚才的代码放在里边就行。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×