static async Task <UserProfileFeedResponse> GetFeed(MiiverseContext ctx, string screenname, UserProfileFeedType type) { var offset = 0; var screennameList = new List <string>(); while (true) { Console.WriteLine($"Offset - {offset}"); var result = await ctx.GetUserProfileFeedAsync(screenname, type, offset); screennameList.AddRange(result.ResultScreenNames); if (!result.ResultScreenNames.Any() || type == UserProfileFeedType.Friends) { return(new UserProfileFeedResponse(screenname, screennameList, type)); } offset += result.ResultScreenNames.Count(); } }
public static async Task MainAsyncLink() { var items = WarcItem.ReadIndex("site/index.cdx").Where(x => x.ContentType.Contains("text/html")).ToList(); var context = new MiiverseContext("", "", ""); var url = "https://image.miiverse.nintendo.net/a/posts/AYMHAAABAABtUKlQN2DnMA/painting"; foreach (var item in items) { using (var content = item.OpenStream()) { var doc = new HtmlAgilityPack.HtmlDocument(); doc.Load(content, System.Text.Encoding.UTF8); if (doc.DocumentNode.OuterHtml.Contains(url)) { Console.WriteLine(item.Url); } } } }
public static async Task MainAsyncPosts() { var items = WarcItem.ReadIndex("site/index.cdx").Where(x => x.ContentType.Contains("text/html")).ToList(); var context = new MiiverseContext("", "", ""); var posts = new List <Post>(); foreach (var item in items) { using (var content = item.OpenStream()) { var doc = new HtmlAgilityPack.HtmlDocument(); doc.Load(content, System.Text.Encoding.UTF8); var postNode = doc.DocumentNode.Descendants("section").FirstOrDefault(n => n.GetAttributeValue("id", "") == "post-content"); if (postNode == null) { continue; } posts.Add(context.ParsePost(postNode)); } } File.WriteAllText("test.json", JsonConvert.SerializeObject(posts, Formatting.Indented)); }