Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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);
                    }
                }
            }
        }
Exemple #3
0
        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));
        }