通过天猫精品库API采集商品函数

goods.services.php 文件添加采集函数,利用天猫精品库API采集商品

    
    //add by wangtongphp QQ1006440989 通过天猫精品库API采集商品
    public function infinityCollect($q,$cat,$start,$sort,$brand,$post_fee,$start_price,$end_price,$aution_tag)
    {
        setTimeLimit(3600);
        global $_FANWE;
        include_once FANWE_ROOT.'sdks/taobao/TopClient.php';
        include_once FANWE_ROOT.'sdks/taobao/request/TmallItemsDiscountSearchRequest.php';
        Cache::getInstance()->loadCache('business');
        
        $client = new TopClient;
        $client->appkey = trim($_FANWE['cache']['business']['taobao']['app_key']);
        $client->secretKey = trim($_FANWE['cache']['business']['taobao']['app_secret']);
        
        
        $req = new TmallItemsDiscountSearchRequest;
        $req->setQ("%E8%80%90%E5%85%8B");
        $req->setCat("2");
        $req->setStart(0);
        $req->setSort("sort=s");    
        $req->setBrand(20531);
        $req->setPostFee(-1);
        $req->setStartPrice("100");
        $req->setEndPrice("500");
        $req->setAuctionTag(3458);
        $resp = $client->execute($req);
        
        $result = array('status'=>0,'count'=>0,'max_page'=>0);
        
        var_dump($resp);
        if(isset($resp->taobaoke_items) && isset($resp->taobaoke_items->taobaoke_item))
        {
            $max_page = ceil(((int)$resp->total_results) / 40);
            $list = (array)$resp->taobaoke_items;
            $list = $list['taobaoke_item'];
            foreach($list as $item)
            {
                usleep(10);
                $item = (array)$item;
                $item['num_iid'] = (float)$item['num_iid'];
                $item['keyid'] = 'taobao_'.$item['num_iid'];
                
                $bln = (int)FDB::resultFirst('SELECT COUNT(id) FROM '.FDB::table('goods')." WHERE keyid='".$item['keyid']."'");
                if($bln)
                    continue;
                    
                $bln = (int)FDB::resultFirst('SELECT COUNT(id) FROM '.FDB::table('goods_disable')." WHERE keyid='".$item['keyid']."'");
                if($bln)
                    continue;
                
                $item['nick'] = addslashes($item['nick']);
                //add by wangtongphp  如果不是天猫店铺,过滤掉;旗舰店、专卖店、专营店留下;
                if(!(mb_stripos($item['nick'],'旗舰店')))
                {
                    continue;
                }
                
                
                $item['title'] = addslashes(strip_tags($item['title']));
                //add by wangtongphp  如果是男的,过滤;
                if(mb_stripos($item['title'],'男'))
                {
                    continue;
                }
                
                $item['price'] = (float)$item['price'];
                $item['click_url'] = addslashes($item['click_url']);
                $item['shop_click_url'] = addslashes($item['shop_click_url']);
                $item['pic_url'] = addslashes($item['pic_url']);
                $item['item_location'] = addslashes($item['item_location']);
                $item['volume'] = (int)$item['volume'];
                $item['commission_rate'] = (float)$item['commission_rate'] / 100;
                $item['commission'] = (float)$item['commission'];
                $item['commission_num'] = (int)$item['commission_num'];
                $item['commission_volume'] = (float)$item['commission_volume'];
                FDB::insert('taobao_collect',$item,false,true);
            }
            
            $result['status'] = 1;
            $result['count'] = count($list);
            $result['max_page'] = $max_page;
        }
        return $result;
    }
原文地址:https://www.cnblogs.com/wangtongphp/p/3148333.html