Example #1
0
        public void grab_test()
        {
            var graber = new InstagramGraber();
            var results = graber.Grab("burberry");

            foreach (var result in results)
            {
                Console.WriteLine(result);
            }
        }
Example #2
0
        public void Execute(CommandContext context)
        {
            var parameters = context.CommandParameter.Split('|');
            if (parameters.Length == 0)
                throw new ArgumentNullException();

            var user = string.Empty;
            var count = 0;
            var sendToEmail = false;

            switch (parameters.Length)
            {
                case 1:
                    user = parameters[0].Trim();
                    break;
                case 2:
                    user = parameters[0].Trim();
                    count = Convert.ToInt32(parameters[1].Trim());
                    break;
                case 3:
                    user = parameters[0].Trim();
                    count = Convert.ToInt32(parameters[1].Trim());
                    if (parameters[2].Trim() == "1")
                        sendToEmail = true;
                    break;
            }

            SendComment(context, string.Format("#PCң����# ��ʼΪ������Instagram���û� {0} ����Ƭ��ͼƬ�п��ܺܶ࣬�����ĵȺ򡣡���", user));

            var graber = new InstagramGraber();
            var images = graber.Grab(user, count);

            var downDirectory = string.Format("{0}\\Instagram\\{1}", context.DownloadPath, user);
            if (!Directory.Exists(downDirectory))
                Directory.CreateDirectory(downDirectory);

            var downPara = new DownloadParameter();
            var files = new List<string>();
            foreach (var image in images)
            {
                var index = image.LastIndexOf("/");
                var fileName = image.Substring(index);
                downPara.FilePath = string.Format("{0}\\{1}", downDirectory, fileName);
                downPara.Url = image;

                if(File.Exists(downPara.FilePath))
                    continue;

                NetworkUtility.DownloadFile(downPara);
                files.Add(downPara.FilePath);
            }

            var page = files.Count/100 + 1;
            if(sendToEmail)
            {
                for (var i = 0; i < page; i++)
                {
                    var filesToSend = files.Take(100).Skip(i*100).ToArray();
                    SendPhotoByEmail(context, filesToSend);
                }
            }

            SendComment(context, string.Format("��Ƭ������ɡ�����һ��������{0}����Ƭ��", images.Count));
        }