php批量修改怎么实现,PinPHP购物分享系统2
因前段时间较忙,所以一直将这开发搁置了。今天看了一下新版的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]); 附源文件:下载源代码请猛击这里>> 总结 如果觉得编程之家网站内容还不错php采集类,欢迎将编程之家网站推荐给程序员好友。 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |