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; } } } }
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); }