public void LoadWallpapers(Collection collection) { if (!loggedIn) throw new NotLoggedInException(); var wals = new List<Wallpaper>(); int i = 0; var again = true; while (again) { var request = new RestRequest(string.Format("{0}/{1}/0", collection.url, i)); var res = client.Execute(request); var htmlDocument = new HtmlDocument(); htmlDocument.LoadHtml(res.Content); var walls = htmlDocument.DocumentNode.QuerySelectorAll(".thlink.thdraggable"); foreach (var wal in walls) { var w = new Wallpaper(); w.url = wal.GetAttributeValue("href", ""); Console.WriteLine(w.url); w.id = System.IO.Path.GetFileName(w.url); wals.Add(w); } if (walls.Count() == 60) i += 60; else again = false; } collection.wallpapers = wals; //set x-requested-with --later }
public List<Collection> GetFavorites() { if (!loggedIn) throw new NotLoggedInException(); var request = new RestRequest("http://wallbase.cc/user/favorites"); var res = client.Execute(request); var htmlDocument = new HtmlDocument(); htmlDocument.LoadHtml(res.Content); var colls = htmlDocument.DocumentNode.QuerySelectorAll(".colls ul.colls-ul li a.collink"); var cols = new List<Collection>(); foreach (var col in colls) { var num = new string(col.InnerText.Trim().TakeWhile((ch) => (ch != ' ')).ToArray()); var name = new string(col.InnerText.Trim().SkipWhile((ch => (ch != ' '))).ToArray()).Trim(); var url = col.GetAttributeValue("href", ""); var c = new Collection(); c.url = url; c.name = name; cols.Add(c); } return cols; }