Esempio n. 1
0
 public static bool IsCampaignExits(CampainsData campains, CookieContainer alimamacc, ref string keeperid)
 {
     try
     {
         bool isExits = false;
         foreach (CampainsData.Datum campain in campains.data)
         {
             if (campain.Exist)
             {
                 isExits = true;
                 break;
             }
         }
         return(isExits);
     }
     catch (Exception ex)
     { return(false); }
     //    string resulthtml = "";
     //    if (!resulthtml.Contains("Exist")) return true;
     //    if (resulthtml.Contains("Exist\":true")) return true;
     //    HttpHelper1.GetStringInTwoKeyword(resulthtml, ref keeperid, "ShopKeeperID\":", ",\"", 0);
     //    Regex reg = new Regex("CampaignName\":\".*\",\"");
     //    MatchCollection mc = reg.Matches(resulthtml);
     //    foreach (Match match in mc)
     //    {
     //        string campaignname = match.Value.Replace("CampaignName\":\"", "").Replace("\",\"CampaignType", "") + "\r\n";
     //        File.AppendAllText("taobaoke定向计划.txt", campaignname);
     //    }
     //    return false;
     //}
     //catch (Exception)
     //{
     //    return true;
     //}
 }
Esempio n. 2
0
        public static CampainsData GetCampainByTBItemID(string itemid, string tbtoken, string pv_id, ref CookieContainer alimamacc, ref string keeperid)
        {
            string url        = "http://pub.alimama.com/pubauc/getCommonCampaignByItemId.json?itemId=" + itemid + "&t=" + HttpHelper1.GetTicks() + "&_tb_token_=" + tbtoken + "&pvid=" + pv_id;
            string resulthtml = HttpHelper1.SendDataByGET(url, ref alimamacc);

            while (resulthtml.Contains("查询商品佣金出错"))
            {
                Thread.Sleep(30 * 1000);
                resulthtml = HttpHelper1.SendDataByGET(url, ref alimamacc);
            }
            if (resulthtml.Contains("为空"))
            {
                return(null);
            }
            else if (resulthtml.Contains("阿里妈妈"))//返回阿里妈妈首页,登录失效
            {
                alimamacc  = Alimama.Login();
                resulthtml = HttpHelper1.SendDataByGET(url, ref alimamacc);
            }
            HttpHelper1.GetStringInTwoKeyword(resulthtml, ref keeperid, "ShopKeeperID\":", ",\"Properties", 0);
            CampainsData campains = Newtonsoft.Json.JsonConvert.DeserializeObject <CampainsData>(resulthtml);

            return(campains);
        }
Esempio n. 3
0
        /// <summary>
        /// 自动申请定向计划
        /// </summary>
        /// <param name="campaignid">定向计划ID</param>
        /// <returns>true:申请成功,false:没有定向计划</returns>
        public static bool ApplyCampaign(string resulthtml, string itemurl, ref CookieContainer alimamacc, ref double maxRate)
        {
            try
            {
                string campaignstrs = "";
                HttpHelper1.GetStringInTwoKeyword(resulthtml, ref campaignstrs, "tkSpecialCampaignIdRateMap\":", ",\"eventCreatorId", 0);
                if (campaignstrs.StartsWith("null"))
                {
                    return(false);                                //如果没有定向计划,退出
                }
                string pv_id = "";
                HttpHelper1.GetStringInTwoKeyword(resulthtml, ref pv_id, "pvid\":\"", "\",\"docsfound", 0);
                string itemid = "";
                HttpHelper1.GetStringInTwoKeyword(resulthtml, ref itemid, "auctionId\":", ",\"", 0);
                string keeperid   = "";
                string maxratestr = "";
                HttpHelper1.GetStringInTwoKeyword(resulthtml, ref maxratestr, "tkRate\":", "\"", 0);
                maxratestr = maxratestr.Replace(",", "");

                CookieCollection ccl          = alimamacc.GetCookies(new Uri("http://alimama.com"));
                string           tbtoken      = ccl["_tb_token_"].Value;
                string           refer        = "http://pub.alimama.com/promo/search/index.htm?queryType=2&q=" + HttpUtility.UrlEncode(itemurl);
                CampainsData     campainsdata = Alimama.GetCampainByTBItemID(itemid, tbtoken, pv_id, ref alimamacc, ref keeperid);
                if (campainsdata == null)
                {
                    return(false);
                }
                //if (IsCampaignExits(campainsdata, alimamacc,ref keeperid)) return false;//如果申请过定向计划,退出
                double maxCommission = 0;
                maxCommission = Convert.ToDouble(maxratestr);
                double maxManualCommission = 0;


                CampainsData.Datum maxCampaign       = new CampainsData.Datum();
                CampainsData.Datum maxManualCampaign = new CampainsData.Datum();
                //挑选出自动审核计划中,佣金最高的一个
                foreach (CampainsData.Datum campain in campainsdata.data)
                {
                    if (campain.AvgCommission == "-")
                    {
                        continue;
                    }
                    double commission = Convert.ToDouble(campain.AvgCommission.Replace(" %", ""));
                    if (campain.manualAudit == 1)//如果需要人工审核
                    {
                        if (commission > maxManualCommission)
                        {
                            maxManualCommission = commission;
                            maxManualCampaign   = campain;
                        }
                    }
                    else
                    {
                        if (commission > maxCommission)
                        {
                            maxCommission = commission;
                            maxCampaign   = campain;
                        }
                    }
                }
                if (!maxCampaign.Exist && maxCampaign.CampaignID != 0)
                {
                    ApplyCampaign(maxCampaign.CampaignID.ToString(), keeperid, pv_id, refer, alimamacc);//自动审核最高分成比例的计划一定要申请
                }
                maxRate = maxCommission;
                if (maxCommission < maxManualCommission)
                {
                    if (!maxManualCampaign.Exist)
                    {
                        ApplyCampaign(maxManualCampaign.CampaignID.ToString(), keeperid, pv_id, refer, alimamacc);//如果人工审核的计划分成比例要更高,则再申请人工审核计划
                        if (maxManualCampaign.CampaignName.Contains("QQ"))
                        {
                            File.AppendAllText("taobaoke定向计划.txt", "分成比例:" + maxManualCampaign.AvgCommission + " 计划名称:" + maxManualCampaign.CampaignName + "\r\n");
                        }
                    }
                    else
                    {
                        //如果人工审核计划已经通过审核
                        maxRate = maxManualCommission;
                    }
                }


                //string[] campains = campaignstrs.Split(',');
                //foreach (string campain in campains)
                //{
                //    string[] campainpro = campain.Split(':');
                //    string campaignid = campainpro[0].Replace("{","").Replace("\"","");
                //    string campaignbili = campainpro[1].Replace("\"","").Replace("}", "");
                //    bool isSuc = ApplyCampaign(campaignid, keeperid,pv_id,refer, alimamacc);
                //}
                return(true);
            }
            catch (Exception ex)
            {
                throw;
            }
        }