zl程序教程

您现在的位置是:首页 >  后端

当前栏目

php批量修改怎么实现,PinPHP购物分享系统2.2后台批量采集修改实现方法

PHP批量后台方法系统 实现 怎么 修改
2023-06-13 09:12:01 时间

大家好,又见面了,我是你们的朋友全栈君。

因前段时间较忙,所以一直将这开发搁置了。今天看了一下新版的PinPHP,又心血来潮于是写了一下这个批量采集的实现,没想到写了差不多一两小时就实现了,虽然写得比较简单,也算是可以帮助一键采集一个分类。同时非常感谢PinPHP团队开发出

如此好使的开源程序,哈,闲话先不多说,上代码。

附源文件:下载源代码请猛击这里>>

主要是对一个模板文件作了修改。/PinPHP_V2.21/admin/Tpl/default/items_collect/collect.html

增加了“批量采集当前分类”按钮:

JS实现:

(function($){

//当前

var argArray,str,strSplit,strUrl,collectTimer,nLen,count=0,errCount=0;

$(“#btnCollectCurrent”).bind(“click”,function(){

argArray = new Array();

$(“#items_cate_list tr”).each(function(index,element) {

$(this).children(“td”).each(function(index,element) {

var aTag = $(this).children(“a”);

if(aTag.length>0){

var str=$(aTag).attr(“href”).replace(“javascript:collect(“,””).replace(“)”,””).replace(“;”,””).replace(“‘”,””);

var strSplit = str.split(“,”);

var strUrl = ‘?page=1&a=taobao_collect_jump&m=items_collect&cate_id=’+strSplit[0]+’&keywords=’+$.trim(strSplit[1]);

argArray.push(strUrl);

}

});

});

$(“#collecting”).show();

$(“#info”).text(“采集中…”);

nLen = argArray.length;

collectTimer = setInterval(function(){

if(count>=nLen) {

clearInterval(collectTimer);

$(“#collecting”).hide();

$(“#info”).text(“采集完成”);

return;

}

$.ajax({

url:argArray[count],

type:”GET”,

dataType:”Html”,

async:false,

success:function(){

$(“#info”).text(“采集中…共”+nLen+”个 当前正在执行第”+count+”个采集 失败”+errCount+”个”);

count++;

},

error:function(){

errCount++;

count++;

}

});

},1000);

});

})(jQuery);

实现效果:

目前只实现了采集当前选中分页的子类批量采集。

从代码可以看出,也是拼接采集的URL,然后通过Ajax定时请求,这次用了同步采集,测试中发现采用异步时

其中有些分类会采集失败,可能因为请求被中掉。采集间隔设置为1秒,为保证请求完成,并在过多类时,防止阻塞

导致浏览器假死。若要采集多页可修改page参数,暂设定为1页

var strUrl = ‘?page=1&a=taobao_collect_jump&m=items_collect&cate_id=’+strSplit[0]+’&keywords=’+$.trim(strSplit[1]);

附源文件:下载源代码请猛击这里>>

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134750.html原文链接:https://javaforall.cn