Пример #1
0
        public async Task DownloadMediaItem(TwitterResultJson search, string path)
        {
            var imageUrls = search.mediaType == "image" ? search.mediaInfo : null;
            var videoUrls = search.mediaType == "video" ? search.mediaInfo : null;

            var imagePath = Path.Combine(path, "images");

            if (!Directory.Exists(imagePath))
            {
                Directory.CreateDirectory(imagePath);
            }
            var videoPath = Path.Combine(path, "videos");

            if (!Directory.Exists(videoPath))
            {
                Directory.CreateDirectory(videoPath);
            }

            if (imageUrls != null)
            {
                foreach (var m in imageUrls.Distinct())
                {
                    try
                    {
                        var fileName = $"{GetUnixTimestamp()}.png";
                        Logger.Log(LogLevel.Warn, $"开始下载:{m}。文件名:{fileName}");
                        await Download(m, Path.Combine(imagePath, fileName));
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine($"关键词:{search.keyWord}。Url:{m}。原因:{ex.Message}");
                        continue;
                    }
                }
            }

            if (videoUrls != null)
            {
                foreach (var m in videoUrls.Distinct())
                {
                    try
                    {
                        var fileName = $"{GetUnixTimestamp()}.mp4";
                        Logger.Log(LogLevel.Warn, $"开始下载:{m}。文件名:{fileName}");
                        await Download(m, Path.Combine(videoPath, fileName));
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine($"关键词:{search.keyWord}。Url:{m}。原因:{ex.Message}");
                        continue;
                    }
                }
            }
        }
Пример #2
0
        public List <TwitterResultCSV> ConvertToCsv(TwitterResultJson search)
        {
            var formatCsv = new List <TwitterResultCSV>();

            foreach (var m in search.mediaInfo)
            {
                var item = new TwitterResultCSV()
                {
                    createTime  = search.createTime,
                    mediaInfo   = m,
                    mediaType   = search.mediaType,
                    text        = search.text,
                    twitterId   = search.twitterId,
                    userAccount = search.userAccount,
                    userId      = search.userId,
                    userName    = search.userName,
                };
                formatCsv.Add(item);
            }

            return(formatCsv);
        }