xml分页php采集,海洋cms自动采集脚本可分页

本文提供shell脚本代码,可根据linux和Windows自定扩展

支持分页采集,无需python3支持;#!/bin/bash

########################################################

# 程序名称: 海洋CMS自动采集脚本

# 版本信息:seacmsbot/2.0

# 使用方法:直接复制代码到宝塔计划任务shell脚本内容里添加每小时任务使用

# 更新时间:2019.11.10

##########################################################

#请修改下面的网站域名及管理目录

web_site="http://网站域名/管理目录/admin_reslib2.php"

#请修改下面项内容为"admin_reslib2.php"里设置的访问密码(默认为系统设置的cookie密码)

web_pwd="8888e82e85bd4540f0defa3fb7a8e888"

#下面项内容为资源站每日采集链接地址列表,请自行修改,每行一条,可添加多个,前后需添加引号。

#每日采集链接获取方法:选择"后台-采集-资源库列表",复制资源站右边的"采集每天"的链接地址,去掉?前面的内容。

web_api=(

'?ac=day&rid=1&url=http://www.zdziyuan.com/inc/s_api_zuidam3u8.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 "
" "\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自动采集脚本开始执行 版本:v2.0"

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]秒"

将前几行的域名和后台 以及采集地址修改好,仍进宝塔计划任务里面shell中,间隔时间建议设置成1小时即可

至于,如何获取采集的地址,这个就不多说了

下面说下linux手动搭建环境的如何使用这个脚本添加计划任务中:

1.将上面更改好的代码另存为"/var/www/job/seacmsbot.sh",打开linux终端,执行以下代码即可chmod +x var/www/job/seacmsbot.sh

echo "* */1 * * * var/www/job/seacmsbot.sh">>/etc/crontab

service crond start

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值