海洋CMS自動採集教程,小白都會操作

* 針對Liunx,Windows自行擴展。 

* 無需Python3支持

   腳本代碼如下:

#!/bin/bash
########################################################
# 程序名稱: 海洋CMS自動採集腳本
# 版本信息:seacmsbot/1.2
# 發佈鏈接: https://www.seacms.net/thread-8253.htm
# 使用方法:直接複製代碼到寶塔計劃任務shell腳本內容裏添加每小時任務使用
# 更新時間:2019.9.26
##########################################################
#請修改下面的網站域名及管理目錄
web_site="http://網站域名/管理目錄/admin_reslib2.php"
   
#請修改下面項內容爲"admin_reslib2.php"裏設置的訪問密碼(默認爲系統設置的cookie密碼)
web_pwd="8888e82e85bd4540f0defa3fb7a8e888"
   
#下面項內容爲資源站每日採集鏈接地址列表,請自行修改,每行一條,可添加多個,前後需添加引號。
#每日採集鏈接獲取方法:選擇"後臺-採集-資源庫列表",複製資源站右邊的"採集每天"的鏈接地址,去掉?前面的內容。
web_api=(
    
      '?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_seackm3u8s.php'
     '?ac=day&rid=2&url=http://www.zdziyuan.com/inc/s_ldgm3u8_sea.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]秒"

根據個人環境修改,不做贅述。

實際採集網址獲取辦法:

  第一步: 登錄網站後臺,進入資源庫列表,在你要採集的目標上點擊右鍵 ,比如在"採集當天"上點擊鼠標右鍵,選擇"複製鏈接地址"

 

  比如這裏是: 

  http://127.0.0.1/admin/admin_reslib.php?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_seackm3u8s.php

 第二步:去掉上一步複製到的內容"?"前面的內容,結果如下:

?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_seackm3u8s.php

這樣就得到了最終的採集網址

* 設置定時任務

    1. 如果是寶塔,添加到計劃任務shell腳本內容,設置爲每小時執行,保存即可。

    2. 非寶塔,可以用系統的計劃任務,方法是:

      把修改好的代碼,另存爲"/var/www/job/seacmsbot.sh" ,在終端執行下面的代碼即可:

chmod +x var/www/job/seacmsbot.sh
echo "* */1 * * * var/www/job/seacmsbot.sh">>/etc/crontab
service crond start

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章