php批量修改怎么实现,PinPHP购物分享系统2.2后台批量采集修改实现方法
因前段時間較忙,所以一直將這開發(fā)擱置了。今天看了一下新版的PinPHP,又心血來潮于是寫了一下這個批量采集的實現(xiàn),沒想到寫了差不多一兩小時就實現(xiàn)了,雖然寫得比較簡單,也算是可以幫助一鍵采集一個分類。同時非常感謝PinPHP團隊開發(fā)出
如此好使的開源程序,哈,閑話先不多說,上代碼。
附源文件:下載源代碼請猛擊這里>>
主要是對一個模板文件作了修改。/PinPHP_V2.21/admin/Tpl/default/items_collect/collect.html
增加了“批量采集當前分類”按鈕:
JS實現(xiàn):
(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+"個 當前正在執(zhí)行第"+count+"個采集 失敗"+errCount+"個");
count++;
},
error:function(){
errCount++;
count++;
}
});
},1000);
});
})(jQuery);
實現(xiàn)效果:
目前只實現(xiàn)了采集當前選中分頁的子類批量采集。
從代碼可以看出,也是拼接采集的URL,然后通過Ajax定時請求,這次用了同步采集,測試中發(fā)現(xiàn)采用異步時
其中有些分類會采集失敗,可能因為請求被中掉。采集間隔設(shè)置為1秒,為保證請求完成,并在過多類時,防止阻塞
導致瀏覽器假死。若要采集多頁可修改page參數(shù),暫設(shè)定為1頁
var strUrl = '?page=1&a=taobao_collect_jump&m=items_collect&cate_id='+strSplit[0]+'&keywords='+$.trim(strSplit[1]);
附源文件:下載源代碼請猛擊這里>>
總結(jié)
如果覺得編程之家網(wǎng)站內(nèi)容還不錯,歡迎將編程之家網(wǎng)站推薦給程序員好友。
本圖文內(nèi)容來源于網(wǎng)友網(wǎng)絡(luò)收集整理提供,作為學習參考使用,版權(quán)屬于原作者。
總結(jié)
以上是生活随笔為你收集整理的php批量修改怎么实现,PinPHP购物分享系统2.2后台批量采集修改实现方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机多媒体技术的内容有哪些方面,多媒体
- 下一篇: php 61850,IEC61850客户