『大咖网盟』

收益高、结算快、超稳定,直营无中间商差价

『1866资源网』

全网最早的资源,实力雄厚,速度超快,超稳定

『78免费网盘』

永久免费的多媒体转码与云分发平台,无限存储

『209资源网』

全网唯一一家全亚洲服务器加速播放,速度超快

『推荐模板服务商』

海洋CMS官方推荐可信赖模板制作服务商家

使用计划任务实现自动采集/宝塔计划任务自动采集

零流量 4月前 3397

* 针对Liunx,Windows自行扩展。 

* 无需Python3支持

   脚本代码如下:

#!/bin/bash
########################################################
# 程序名称: 海洋CMS自动采集脚本
# 版本信息:seacmsbot/ v2.0
# 发布链接: https://www.seacms.net/post-update-92579.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


 

最后于 13天前 被admin编辑 ,原因:
最新回复 (14)
  • wzc 4月前
    0 2
    这个东西很不错!,可以采集第二页吗?
  • zhhacker 4月前
    0 3
    我试过了 可以采集第二页 巨牛皮  现在用的爽歪歪
  • 0 4
    这个文件上传宝塔什么地方
  • zhhacker 4月前
    0 5
    海洋真的强 这个文件上传宝塔什么地方
    首先安装Python3  可以放在网站根目录 必须给予777权限 你就是放在另外一个宝塔里面都行 
  • 0 6
    zhhacker 首先安装Python3 可以放在网站根目录 必须给予777权限 你就是放在另外一个宝塔里面都行
    python3在哪安装
  • zhhacker 4月前
    0 7
    自行搜索 装起来比较麻烦 很多坑  
  • 0 8
    zhhacker 自行搜索 装起来比较麻烦 很多坑
    装好了 但是采集不了,没有详细的教程
  • 零流量 3月前
    0 9
    public void main(String[] args) {
        // TODO 
        // 30一位,包教包会!
        // QQ:1347921502
    }


  • 0 10

    宝塔不是有个定时执行URL吗?没必要用脚本。

  • weich 3月前
    0 11
    星源影视 宝塔不是有个定时执行URL吗?没必要用脚本。
    那玩意不行.采集不全!
  • 0 12
    海洋真的强 python3在哪安装
    #依赖包
    yum -y groupinstall "Development tools" 
    yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
    
    #下载Python3
    wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
    
    #创建文件夹
    mkdir /usr/local/python3
    
    #解压编译安
     tar -xvJf  Python-3.6.2.tar.xz
     cd Python-3.6.2
     ./configure --prefix=/usr/local/python3
     make && make install
     
     #软链接
     ln -s /usr/local/python3/bin/python3 /usr/bin/python3
     ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

    在宝塔终端依次执行上面代码即可。

  • 0 13
    weich 那玩意不行.采集不全!
    哇,才发现真的不行,只采集一页,谢谢分享
  • 0 14
    Traceback (most recent call last):
      File "/opt/job/sbin/job.py", line 4, in <module>
        import requests
    ModuleNotFoundError: No module named 'requests'
    ----------------------------------------------------------------------------
    ★[2019-09-20 16:02:41] Successful

    哪个大佬指导下啥问题,以上是宝塔执行的日志。
  • 0 15
    李大爷啊 Traceback (most recent call last):  File "/opt/job/sbin/job.py", line 4, in    import ...

    没有安装 requests 模块
    你可以使用 我发布的shell版本,无需安装,直接复制到宝塔计划任务的脚本内容里

    #!/bin/bash
     
    web_site="http://网站域名/管理目录/admin_reslib2.php"  #设置后台路径
    web_pwd="系统设置cookie密码"   #设置访问密码
    #设置资源站地址,方法是复制每日采集链接按下面格式修改
    web_api=(
        '?ac=day&rid=2&url=http://www.zdziyuan.com/inc/s_ldgm3u8_sea.php' 
        '?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_seackm3u8s.php' 
        '?ac=day&rid=5&url=http://cj.zuikzy.com/inc/seazkm3u8.php'
        '?ac=day&rid=kukuzy&url=https://www.ckzy.cc/api.php/seacms/vod/at/xml/from/qiyi/'
        '?ac=day&rid=kukuzy&url=https://www.ckzy.cc/api.php/seacms/vod/at/xml/from/qq/'
        '?ac=day&rid=kukuzy&url=https://www.ckzy.cc/api.php/seacms/vod/at/xml/from/youku/'
        '?ac=day&rid=kukuzy&url=https://www.ckzy.cc/api.php/seacms/vod/at/xml/from/mgtv/'
        '?ac=day&rid=kukuzy&url=https://www.ckzy.cc/api.php/seacms/vod/at/xml/from/letv/'
        '?ac=day&rid=kukuzy&url=https://www.ckzy.cc/api.php/seacms/vod/at/xml/from/sohu/'
        '?ac=day&rid=kukuzy&url=https://www.ckzy.cc/api.php/seacms/vod/at/xml/from/pptv/'
        '?ac=day&rid=kukuzy&url=https://www.ckzy.cc/api.php/seacms/vod/at/xml/from/m1905/'
    )
    function get_content() {
     echo  "正在采集第$page页"    
     cResult=$(curl -s  -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)"  "$1" )
    if [ "$?" = "0" ]; then
       echo "done!"
    else
       echo "error:$?" 
      echo "$1" 
    fi
     let page++
     #echo $cResult
    next_url=${cResult##*location.href=\'}
    next_url=${next_url%%\'*}
     if [ "${next_url:0:1}" = "?" ]
        then
        get_content "$web_site$next_url"
       fi   
    #echo $next_url
    }
    for url in ${web_api[@]}; 
    do
        if [ ! -z $url ]
         then
               web_param="$web_site$url&password=$web_pwd"
               page=1
               echo "开始采集:$web_param"
               get_content $web_param 
         fi   
    done


    详细教程:https://www.seacms.net/thread-8238.htm

返回
发新帖