public static async Task <string> PostNewAsync(StorageFile image)
        {
            string     result;
            string     token    = AccessToken.getAccessToken();
            string     host     = BaiduApi.getUrl() + "?access_token=" + token;
            Encoding   encoding = Encoding.Default;
            HttpClient client   = new HttpClient();
            //client.DefaultRequestHeaders.Add("Content-Type", "application/x-www-form-urlencoded");
            string imageString = await toBase64Async(image);

            //str += "&disp_formula=true";
            byte[] buffer = encoding.GetBytes(imageString);
            //client.DefaultRequestHeaders.Add("Content-Length", buffer.Length.ToString());
            //StringContent content = new StringContent(buffer);
            List <KeyValuePair <string, string> > pairs = new List <KeyValuePair <string, string> >();

            pairs.Add(new KeyValuePair <string, string>("image", imageString));
            pairs.Add(new KeyValuePair <string, string>("disp_formula", "true"));
            FormUrlEncodedContent content = new FormUrlEncodedContent(pairs);

            content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/x-www-form-urlencoded");
            var response = await client.PostAsync(host, content);

            //request.GetRequestStream().Write(buffer, 0, buffer.Length);
            //HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            //Stream stream = response.GetResponseStream();
            //StreamReader reader = new StreamReader(stream, Encoding.Default);
            //result = reader.ReadToEnd();
            result = await response.Content.ReadAsStringAsync();

            return(result);
        }
        public static async Task <string> PostAsync(StorageFile image)
        {
            string result;
            //string token = "24.5e94ae528427824fb5e03aaf8751a7ac.2592000.1592472357.282335-19946172";
            string token = AccessToken.getAccessToken();
            string host  = BaiduApi.getUrl() + "?access_token=" + token;
            //string host = "https://aip.baidubce.com/rest/2.0/ocr/v1/formula?access_token=" + token;
            Encoding       encoding = Encoding.Default;
            HttpWebRequest request  = (HttpWebRequest)WebRequest.Create(host);

            request.Method    = "post";
            request.KeepAlive = true;
            string base64 = await toBase64Async(image);

            String str = "image=" + base64;

            str += "&disp_formula=true";
            byte[] buffer = encoding.GetBytes(str);
            request.ContentType = "application/x-www-form-urlencoded";
            var handler = new HttpClientHandler();

            request.ContentLength = buffer.Length;
            request.GetRequestStream().Write(buffer, 0, buffer.Length);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream          stream   = response.GetResponseStream();
            StreamReader    reader   = new StreamReader(stream, Encoding.Default);

            result = reader.ReadToEnd();
            stream.Close();
            response.Close();
            return(result);
        }
Example #3
0
        static void Main(string[] args)
        {
            var _result = new BaiduApi().SEM();

            Console.WriteLine(_result);

            #region 循环注册极光用户
            //Console.WriteLine("输入开始的用户id,回车继续");
            //string _minUserId = Console.ReadLine();
            //Console.WriteLine("输入单次读取用户条数,回车开始读取用户数据");
            //int _pageSize = Convert.ToInt32(Console.ReadLine());
            ////最后一个用户id
            //string _lastUserId = string.Empty;
            //for (int i = 0; i < 10; i++)
            //{
            //    var _dt = Sales.GetUserDb(i, _pageSize, _minUserId);
            //    Console.WriteLine("本次总读取用户{0}条", _dt.Rows.Count);
            //    List<string> _list = new List<string>();
            //    for (int j = 0; j < _dt.Rows.Count; j++)
            //    {
            //        _list.Add(string.Format("t{0}", _dt.Rows[j]["user_id"]));
            //    }
            //    if (_dt.Rows.Count > 0)
            //    {
            //        _lastUserId = _dt.Rows[_dt.Rows.Count - 1]["user_id"].ToString();
            //    }
            //    string _uids = string.Join(",", _list);
            //    //try
            //    //{
            //    //    string _url = string.Format("http://1.t.93390.cn/txooo/salesv2/shop/Ajax/ShopOpenAjax.ajax/RegistJPush?uids={1}", _uids);
            //    //    Masir.MaLogHelper.GetLogger("ReadSalesUserDebug").Debug(string.Format("注册极光:{0}", _uids));
            //    //    var _return = JObject.Parse(new WebClient().DownloadString(_url));
            //    //    if (_return["success"].ToString() == "false")
            //    //    {
            //    //        Masir.MaLogHelper.GetLogger("ReadSalesUserServiceError").Error(string.Format("注册极光服务器返回异常:{0}", _uids));
            //    //        Console.WriteLine("注册极光异常:{0}", _uids);
            //    //        break;
            //    //    }
            //    //    else
            //    //    {
            //    //        Console.WriteLine("注册极光成功:{0}", _uids);
            //    //    }
            //    //}
            //    //catch (Exception ex2)
            //    //{
            //    //    Masir.MaLogHelper.GetLogger("ReadSalesUserError").Error(string.Format("再次注册极光异常:{0}", ex2.Message), ex2);
            //    //    break;
            //    //}
            //}
            //Console.WriteLine("本次大于【{0}】的用户注册极光结束,最后一个用户id【{1}】", _minUserId, _lastUserId);

            #endregion

            Console.ReadKey();
        }
Example #4
0
    public static List <停车场信息> CreatePark(string xlsxFilename, string jsonFilename)
    {
        var records      = new List <停车场信息>();
        var templetefs   = new FileStream(xlsxFilename, FileMode.Open, FileAccess.Read);
        var hssfworkbook = new XSSFWorkbook(templetefs);
        var sheet        = hssfworkbook.GetSheetAt(0);
        var rfirst       = sheet.FirstRowNum;
        var rlast        = sheet.LastRowNum;

        //去掉第一条
        for (int i = 1; i < rlast; i++)
        {
            var row = sheet.GetRow(i);
            var r   = new 停车场信息();
            r.City = BaiduApi.DefaultCity;
            r.Name = row.GetCell(1).StringCellValue;
            var address = row.GetCell(2).StringCellValue;
            //对于地址进行处理
            //地址: 江门 鹤山市 广东省大雁山风景旅游区叠翠山庄
            var addressinfo = address.Split(" ");
            address = addressinfo.Last();
            if (address.StartsWith("广东省"))
            {
                address = address.Substring(3);
            }
            r.Address = address;
            records.Add(r);
        }

        foreach (var item in records)
        {
            //GEO信息取得
            var loc = BaiduApi.GetGeoInfo(item.Address);
            item.lat = loc.lat;
            item.lng = loc.lng;
        }

        string json = JsonConvert.SerializeObject(records, Formatting.Indented);

        using (var sw = new StreamWriter(jsonFilename, false))
        {
            sw.Write(json);
            sw.Close();
        }
        return(records);
    }
Example #5
0
        private void player_OnOpenSucceeded(object sender, EventArgs e)
        {
            if (isTran)
            {
                int times = Convert.ToInt32(player.GetDuration() / 1000 / 7);
                //切视频
                CaptionThread captionThread = new CaptionThread(times, video, null);
                //Thread thread = new Thread(captionThread.startCaption);
                Thread thread = new Thread(captionThread.startVideo);
                thread.IsBackground = true;
                thread.Start();

                //百度api翻译
                BaiduApi api     = BaiduApi.getInstance(video, captionDic, times);
                Thread   thread1 = new Thread(api.recoVideo);
                //Thread thread1 = new Thread(captionThread.startVideo);
                //thread1.Start();
                thread1.IsBackground = true;
                thread1.Start();
            }
        }
Example #6
0
    public static List <特色美食信息> CreateFood(string xlsxFilename, string jsonFilename, List <特色美食评论> Comments)
    {
        var records      = new List <特色美食信息>();
        var templetefs   = new FileStream(xlsxFilename, FileMode.Open, FileAccess.Read);
        var hssfworkbook = new XSSFWorkbook(templetefs);
        var sheet        = hssfworkbook.GetSheetAt(0);
        var rfirst       = sheet.FirstRowNum;
        var rlast        = sheet.LastRowNum;

        //去掉第一条
        for (int i = 1; i < rlast; i++)
        {
            var row = sheet.GetRow(i);
            var r   = new 特色美食信息();
            r.City    = BaiduApi.DefaultCity;
            r.Name    = row.GetCell(0).StringCellValue;
            r.Address = row.GetCell(1).StringCellValue;
            r.Item    = row.GetCell(2).StringCellValue.Split(",\n".ToCharArray()).Where(x => !string.IsNullOrEmpty(x)).Select(x => x.Trim()).ToArray();

            if (r.Item.Length == 1)
            {
                var itemline = r.Item[0];
                if (itemline.Split(" ").Length != 1)
                {
                    r.Item = itemline.Split(" ");
                }
                else
                {
                    if (itemline.Split("、").Length != 1)
                    {
                        r.Item = itemline.Split("、");
                    }
                }
                r.Item = r.Item.Where(x => !string.IsNullOrEmpty(x)).Select(x => x.Trim()).ToArray();
            }

            r.Price = 0;
            if (row.GetCell(3).CellType == CellType.String)
            {
                var strPrice = row.GetCell(3).StringCellValue;
                if (string.IsNullOrEmpty(strPrice) || strPrice == "0")
                {
                    r.Price = 0;
                }
                else
                {
                    r.Price = int.Parse(strPrice.Substring(1));
                }
            }
            else
            {
                if (row.GetCell(3).CellType == CellType.Numeric)
                {
                    r.Price = (int)row.GetCell(3).NumericCellValue;
                }
            }
            records.Add(r);
        }
        templetefs.Close();

        records = records.Distinct(new 特色美食信息()).ToList();

        foreach (var item in records)
        {
            //GEO信息取得
            var loc = BaiduApi.GetGeoInfo(item.Address);
            item.lat = loc.lat;
            item.lng = loc.lng;
            //评论
            var c = Comments.Where(x => x.Name == item.Name).FirstOrDefault();
            if (c != null)
            {
                //词云的制作
                item.WordCloud    = WordCloudItem.Create(c.Comments, 20);
                item.Comments     = c.Comments.Take(50).ToList();
                item.CommentCount = c.Comments.Count;
            }
        }

        string json = JsonConvert.SerializeObject(records, Formatting.Indented);

        using (var sw = new StreamWriter(jsonFilename, false))
        {
            sw.Write(json);
            sw.Close();
        }

        var FoodRankDict = new Dictionary <string, int>();

        //美食排行榜
        foreach (var r in records)
        {
            foreach (var i in r.Item)
            {
                if (!FoodRankDict.ContainsKey(i))
                {
                    FoodRankDict.Add(i, 0);
                }
                FoodRankDict[i]++;
            }
        }

        var FoodRankTuple = new List <(string, int)>();

        FoodRankTuple = FoodRankDict.Select(x => (x.Key, x.Value)).ToList();
        FoodRankTuple.Sort((x, y) => y.Item2 - x.Item2);

        //Print一下看看
        foreach (var item in FoodRankTuple.Take(20))
        {
            System.Console.WriteLine(item.Item1 + ":" + item.Item2);
        }

        //平均消费
        var PriceAvg = records.Where(x => x.Price != 0).Average(x => x.Price);

        System.Console.WriteLine("平均消费:" + PriceAvg);

        return(records);
    }
Example #7
0
    public static List <宾馆酒店信息> CreateHotel(string xlsxFilename, string jsonFilename, int LastColIdx, List <宾馆酒店评论> Comments)
    {
        var records      = new List <宾馆酒店信息>();
        var templetefs   = new FileStream(xlsxFilename, FileMode.Open, FileAccess.Read);
        var hssfworkbook = new XSSFWorkbook(templetefs);
        var sheet        = hssfworkbook.GetSheetAt(0);
        var rfirst       = sheet.FirstRowNum;
        var rlast        = sheet.LastRowNum;

        //去掉第一条
        for (int i = 1; i < rlast; i++)
        {
            var row = sheet.GetRow(i);
            if (row.GetCell(0) == null)
            {
                continue;
            }
            var r = new 宾馆酒店信息();
            r.City = BaiduApi.DefaultCity;
            r.Name = row.GetCell(0).StringCellValue;
            if (string.IsNullOrEmpty(r.Name))
            {
                continue;
            }
            if (row.GetCell(1) != null)
            {
                r.Grade = row.GetCell(1).StringCellValue;
            }

            var addr = row.GetCell(2).StringCellValue.Split("\n");
            r.Distract = "";
            r.Address  = "";
            if (addr.Length == 3)
            {
                r.Distract = addr[1].Trim();
                r.Address  = addr[2].Trim();
            }
            if (addr.Length == 2)
            {
                r.Distract = addr[0].Trim();
                r.Address  = addr[1].Trim();
            }
            r.ServiceTel = "";
            r.ServiceFax = "";
            if (row.GetCell(3).CellType == CellType.String)
            {
                r.ServiceTel = row.GetCell(3).StringCellValue;
            }

            if (row.GetCell(3).CellType == CellType.Numeric)
            {
                r.ServiceTel = row.GetCell(3).NumericCellValue.ToString();
            }

            if (r.ServiceTel == "联系方式")
            {
                r.ServiceTel = "";
            }
            r.ServiceTel = r.ServiceTel.TrimEnd("纠错".ToArray()).Trim();
            if (r.ServiceTel.Contains("传真"))
            {
                r.ServiceFax = r.ServiceTel.Substring(r.ServiceTel.IndexOf("传真"));
                r.ServiceTel = r.ServiceTel.Substring(0, r.ServiceTel.IndexOf("传真"));
                r.ServiceFax = r.ServiceFax.TrimStart("传真".ToArray()).Trim();
            }
            if (!string.IsNullOrEmpty(r.ServiceTel))
            {
                r.ServiceTel = r.ServiceTel.TrimStart("电话".ToArray()).Trim();
            }
            //Cell4是联系人,一模一样的

            r.Description = row.GetCell(LastColIdx - 1).StringCellValue.Trim();
            r.Price       = 0;
            if (row.GetCell(LastColIdx).CellType == CellType.String)
            {
                var strPrice = row.GetCell(LastColIdx).StringCellValue;
                if (string.IsNullOrEmpty(strPrice) || strPrice == "0")
                {
                    r.Price = 0;
                }
                else
                {
                    int p;
                    if (int.TryParse(strPrice.Substring(1), out p))
                    {
                        r.Price = p;
                    }
                }
            }
            else
            {
                if (row.GetCell(LastColIdx).CellType == CellType.Numeric)
                {
                    r.Price = (int)row.GetCell(LastColIdx).NumericCellValue;
                }
            }
            records.Add(r);
        }
        templetefs.Close();
        records = records.Distinct(new 宾馆酒店信息()).ToList();
        int cnt = 0;

        foreach (var item in records)
        {
            //评论
            var c = Comments.Where(x => x.Name == item.Name).ToList();
            if (c.Count != 0)
            {
                item.WordCloud    = WordCloudItem.Create(c.Select(x => x.Comment).ToList(), 20);
                item.CommentCount = c.Count;
                item.ScoreCnt     = c.Where(x => x.Score != 0).Count();
                if (item.ScoreCnt != 0)
                {
                    item.Score = System.Math.Round(c.Where(x => x.Score != 0).Average(x => x.Score), 2);
                }
                item.Comments = c.Select(x => x.Comment).Take(50).ToList();
            }
            cnt++;
            //GEO信息取得
            var loc = BaiduApi.GetGeoInfo(item.Address);
            item.lat = loc.lat;
            item.lng = loc.lng;
        }

        string json = JsonConvert.SerializeObject(records, Formatting.Indented);

        using (var sw = new StreamWriter(jsonFilename, false))
        {
            sw.Write(json);
            sw.Close();
        }

        return(records);
    }