让wego微购购物分享系统采集拍拍数据功能之腾讯paipai功能采集插件
2013-11-14 10:09
369 查看
wego是一款很不错的导购系统,无论前后台设计风格和功能都还不错,可有时我们的确需要一些自定义的功能,毕竟万千世界,大家都做一样的东西,采集同样的数据,能不烦吗?哈哈,今天就奉献上一个wego拍拍采集的插件,虽有瑕疵,但愿能和大家一起完善。如果做paipai推广,需要注册一些帐号资料,主要是腾讯开放平台的应用和易推广ID http://etg.qq.com/, href="http://www.wyao.in/" target=_blank>我要-人气购物平台就是采用这种方式调用数据的。
推广者ID是推广人身份的唯一编号,可不能搞错。其次需要我们在腾讯开放平台上http://fuwu.paipai.com/app/ui/my/list/all.xhtml创建我们的应用已获得CPS调用权限。
接下来我们完成功能实现吧,既然是插件就需要配置吧,咱们首先完成配置吧。
配置完成了,可后台功能,咱们还没实现了,别着急,马上附上代码,只附上有用的,如果大家觉得自己替换马上,可使用本文的附件直接替换,替换前记得要备份哟。
\admin\Lib\Action\items_collectAction.class.php
拍拍API设置:
拍拍搜索功能
最后一步我们追加系统需要的API到系统vendar库中:\includes\thinkphp\Extend\Vendor\apipaipai
HttpClient.class.php
PaiPaiOpenApiOauth.php
拍拍易推广CPSAPI:http://files.cnblogs.com/mengdejun/apipaipai.zip
整个插件附件:http://files.cnblogs.com/mengdejun/wyao.in.paipai.zip
现在我们可以畅快的使用拍拍产品了,多一种选择,多一种收获,何乐而不为了。
原创文章,拒绝采集,如需转载请保留出处及其作者信息。
作者:孟德军<mengdj@outlook.com> QQ:280759843 自定义开发可Q我。
本文地址:http://www.cnblogs.com/mengdejun/p/wego_paipai_collect_plugin.html
推广者ID是推广人身份的唯一编号,可不能搞错。其次需要我们在腾讯开放平台上http://fuwu.paipai.com/app/ui/my/list/all.xhtml创建我们的应用已获得CPS调用权限。
接下来我们完成功能实现吧,既然是插件就需要配置吧,咱们首先完成配置吧。
配置完成了,可后台功能,咱们还没实现了,别着急,马上附上代码,只附上有用的,如果大家觉得自己替换马上,可使用本文的附件直接替换,替换前记得要备份哟。
\admin\Lib\Action\items_collectAction.class.php
拍拍API设置:
/** * @desc 拍拍API */ public function paipaiapi(){ $setting_mod = M('setting'); if (isset($_POST['dosubmit'])) { $paipai['paipai_userid'] = isset($_POST['paipai_userid']) && trim($_POST['paipai_userid']) ? trim($_POST['paipai_userid']) : $this->error('请填写userid'); $paipai['paipai_appoauthid'] = isset($_POST['paipai_appoauthid']) && trim($_POST['paipai_appoauthid']) ? trim($_POST['paipai_appoauthid']) : $this->error('请填写appoauthid'); $paipai['paipai_appoauthkey'] = isset($_POST['paipai_appoauthkey']) && trim($_POST['paipai_appoauthkey']) ? trim($_POST['paipai_appoauthkey']) : $this->error('请填写appoauthkey'); $paipai['paipai_accesstoken'] = isset($_POST['paipai_accesstoken']) && trim($_POST['paipai_accesstoken']) ? trim($_POST['paipai_accesstoken']) : $this->error('请填写accesstoken'); $paipai['paipai_uid'] = isset($_POST['paipai_uid']) && trim($_POST['paipai_uid']) ? trim($_POST['paipai_uid']) : $this->error('请填写uid'); foreach( $paipai as $key=>$val ){ $setting_mod->where("name='$key'")->save(array('data'=>$val)); } $this->success('修改成功', U('items_collect/paipaiapi')); } $res = $setting_mod->where("name='paipai_userid' OR name='paipai_appoauthid' OR name='paipai_appoauthkey' OR name='paipai_accesstoken' OR name='paipai_uid'")->select(); foreach( $res as $val ){ $paipaiset[$val['name']] = $val['data']; } $this->assign('paipai',$paipaiset); $this->display(); }
//拍拍秒数据采集入库 private function paipai_collect_insert($item,$cate_id){ $items_mod=D('items'); $items_tags_mod=D('items_tags'); $items_tags_item_mod=D('items_tags_item'); //需要判断商品是否已经存在 $isset=$items_mod->where("item_key='".$item['item_key']."'")->getField('id'); if($isset){ return; } $add_time=time(); $item['img']=$item['bigUri']; $item['simg']=$item['imgUri']; $item['bimg']=$item['bigUri']; if($item['popular']==0){ $item['popular']=1; } $item_id=$items_mod->add(array( 'title'=>ReplaceKeywords(strip_tags($item['title'])), 'cid'=>$cate_id, 'sid'=>$item['sid'], 'item_key'=>$item['item_key'], 'img'=>$item['img'], 'simg'=>$item['simg'], 'bimg'=>$item['bimg'], 'price'=>$item['price'], 'url'=>$item['tagUrl'], 'likes'=>$item['popular'], 'seller_name'=>$item['nickName'], 'cash_back_rate'=>$item['cvValue'], 'haves'=>1, 'add_time'=>$add_time, )); //处理标签 $tags = $items_tags_mod->get_tags_by_title(strip_tags($item['title'])); if ($tags) { $tags = array_unique($tags); foreach ($tags as $tag) { $isset_id = $items_tags_mod->where("name='".$tag."'")->getField('id'); if ($isset_id) { $items_tags_mod->where('id='.$isset_id)->setInc('item_nums'); //如果存在此标签的商品 让item_nums+1 $items_tags_item_mod->add(array( 'item_id' => $item_id, 'tag_id' => $isset_id )); } else { $tag_id = $items_tags_mod->add(array('name'=>$tag)); $items_tags_item_mod->add(array( 'item_id' => $item_id, 'tag_id' => $tag_id )); } } } }
public function collect() { if(isset($_REQUEST['dosubmit'])){ $cate=implode(',',$_REQUEST['cate']); header("location:".U('items_collect/taobao_batch_collect_jump?act=batch&cate='.$cate)); exit; } $code = isset($_REQUEST['code']) ? trim($_REQUEST['code']) : $this->error('参数错误'); $items_cate_mod = D('items_cate'); switch ($code) { case 'taobao': $res=get_items_cate_list(); $this->assign('items_cate_list', $res['sort_list']); break; case 'miao': $res=get_items_cate_list('0','0','1','collect_miao'); $this->assign('items_cate_list', $res['sort_list']); break; case "paipai": $this->error("暂不支持此功能。"); break; } $this->assign('code',$code); $this->display(); }
//分类采集 public function cate_collect() { if(isset($_REQUEST['dosubmit'])){ $cate=implode(',',$_REQUEST['cate']); header("location:".U('items_collect/taobao_batch_collect_jump?act=batch&cate='.$cate)); exit; } $code = isset($_REQUEST['code']) ? trim($_REQUEST['code']) : $this->error('参数错误'); $items_cate_mod = D('items_cate'); switch ($code) { case 'taobao': $items_cate_mod = D('items_cate'); $taocate=$this->get_taocats(); $this->assign('cate_list', $taocate); break; case 'miao': $items_cate_mod = D('items_cate'); $miaocate=$this->get_miaocats(); $this->assign('cate_list', $miaocate); break; case "paipai": $items_cate_mod = D('items_cate'); $paipaicate=$this->get_paipaicats(); break; } $this->assign('code',$code); $this->display(); }
/** * @desc 获取拍拍分类 */ private function get_paipaicats($cid){ //$paipai_api=$this->paipai_client(); //$paipai_api->setApiPath("/deal/sellerSearchDealList.xhtml") //exit; return null; }
拍拍搜索功能
public function search_paipai(){ $_GET=setFormString($_GET); $keyword = isset($_GET['keyword']) && trim($_GET['keyword']) ? trim($_GET['keyword']) : ''; $pages = isset($_GET['pages']) && intval($_GET['pages']) ? intval($_GET['pages']) : 1; $p=isset($_GET['p'])?$_GET['p']:1; $start_price=$_GET['begPrice']; $end_price=$_GET['endPrice']; //获取此商品对应的商家sid $items_cate_mod = D('items_cate'); $items_site_mod = D('items_site'); $paipai_api = $this->paipai_client(); //获取59秒api设置信息 $paipai_api->setApiPath("/cps/cpsCommSearch.xhtml");//这个是用户需要调用的 接口函数 $paipai_api->setMethod("get");//post $paipai_api->setCharset("utf-8");//gbk $paipai_api->setFormat("json");//gbk !empty($_GET['begPrice'])&&$params['begPrice']=$_GET['begPrice']; !empty($_GET['endPrice'])&&$params['endPrice']=$_GET['endPrice']; !empty($_GET['keyWord'])&&$params['keyWord']=$_GET['keyWord']; !empty($_GET['pageSize'])&&$params['pageSize']=$_GET['pageSize']; !empty($_GET['degree'])&&$params['degree']=$_GET['degree']; !empty($_GET['saleType'])&&$params['saleType']=$_GET['saleType']; //填写推广者ID $params['userId']=$this->setting['paipai_userid']; $paipai_api->setParams($params); $data=$paipai_api->invoke(); if(!$data||$data->CpsCommSearchResult->errorCode!=0) return; $data=json_decode($data); $goods_list= $data->CpsCommSearchResult->vecComm; $goods_list_s = array(); foreach ($goods_list as $val){ $val->price=doubleval(($val->price/100)); $val->cvValue=doubleval(($val->cvValue/10000)); $goods_list_s[$val->itemId]=get_object_vars_final($val); } //每次保存 count($goods_list_s)>0 && F('goods_list_paipai',$goods_list_s); $this->assign('list', $goods_list_s); $this->display(); }
/** * @desc 拍拍数据发布 */ public function publishpaipai(){ $ids=$_GET['ids']; if(isset($_POST['dosubmit'])){ //从缓存中获取本页商品数据 $items_cate_mod = D('items_cate'); $ids=$_POST['ids']; $ids_arr = explode(',', $ids); $cate_id=$_POST['cid']; $goods_list_s = F('goods_list_paipai'); $items_site_mod = D('items_site'); $sid = $items_site_mod->where("alias='paipai'")->getField('id'); $items_nums = 0; foreach ($goods_list_s as $key => $val) { if (in_array($key,$ids_arr)) { $val['item_key'] = 'paipai_'.$val['itemId']; $val['sid'] = $sid; $this->paipai_collect_insert($val,$cate_id); //数据入库 $items_nums++; } } if ($items_nums>0) { $items_cate_mod->where('id='.$cate_id)->setInc('item_nums', $items_nums); } $this->collect_success('采集完成', '', 'collect'); }else{ $items_cate_mod = D('items_cate'); $cate_list=$items_cate_mod->get_top2_list(); $this->assign('cate_list', $cate_list); $this->assign('ids',$ids); } $this->display(); }
最后一步我们追加系统需要的API到系统vendar库中:\includes\thinkphp\Extend\Vendor\apipaipai
HttpClient.class.php
PaiPaiOpenApiOauth.php
拍拍易推广CPSAPI:http://files.cnblogs.com/mengdejun/apipaipai.zip
整个插件附件:http://files.cnblogs.com/mengdejun/wyao.in.paipai.zip
现在我们可以畅快的使用拍拍产品了,多一种选择,多一种收获,何乐而不为了。
原创文章,拒绝采集,如需转载请保留出处及其作者信息。
作者:孟德军<mengdj@outlook.com> QQ:280759843 自定义开发可Q我。
本文地址:http://www.cnblogs.com/mengdejun/p/wego_paipai_collect_plugin.html
相关文章推荐
- wego微购RSS、Sitemap、Ping、腾讯拍拍网购采集插件
- 【BUG】wego购物分享系统未登陆分享宝贝时查看宝贝自动新增产品数据
- 方维分享系统不能采集淘宝数据的解决方法
- 只采集天猫的商品,不采集淘宝的商品 怎么设置|方维购物分享系统
- 详解Android系统中跨应用数据分享功能的实现
- 方维购物分享系统采集天猫淘宝的功能分析
- 移动Boss系统数据采集
- 【分享】【转载】实训项目:电子地图管理系统 数据文件 GTBL.dat 详细说明
- ARM系统中DMA方式在数据采集中的应用
- 【分享】一个通用强大的主数据管理系统(架构设计讲解及源码下载)
- 创业公司做数据分析(三)用户行为数据采集系统
- Oracle常用系统数据字典表、系统包功能分类
- 安卓系统自带分享(发送文本、图片)功能
- (分享)在myeclipse上安装spket插件,实现js自动提醒功能
- 教你如何在博客里加入分享功能——分享插件(HRshare)
- 分享C#源代码,自动排课系统 V1.1(源码), 新闻自动采集系统(源码)
- Android调用系统分享功能以及createChooser的使用
- 模块管理常规功能自定义系统的设计与实现(17--模块数据的导出和打印[2])
- web数据采集核心技术分享系列(二)如何提取信息?字符串?正则?xpath?xslt?自定义?...什么才是王道?