private void ExecutePornJax(IDictionary<string, Person> dictionary) { const string site = "http://www.pornjax.com"; const string baseUrl = site + "/category/Pornstars"; var result = GetCachedPage(baseUrl, "ageverified=1;"); var document = XmlConverter.ConvertToXml(result); var links = document .Descendants("div") .Where(element => element.Attribute("id") != null) .First(element => element.Attributes("id").Single().Value == "pj_main") .Descendants("table").First() .Descendants("li") .Select(element => element.Elements("a").First()) .Select(element => element.Attributes("href").Single().Value) .ToArray(); foreach (var partialLink in links) { var link = site + partialLink + "/galleries"; UpdateSummary(link); var name = partialLink.Replace('_', ' '); var person = dictionary.ContainsKey(name) ? dictionary[name] : new Person(); var personLink = person.PersonLinks.FirstOrDefault(pl => pl.Site == "pornjax"); if (personLink == null) { personLink = new PersonLink {Site = "pornjax"}; person.PersonLinks.Add(personLink); } result = GetCachedPage(link, "ageverified=1;"); document = XmlConverter.ConvertToXml(result); var debug = 0; } }
private void ExecuteKink(IDictionary<string, Person> dictionary) { const string baseUrl = "http://www.kink.com/k/models.jsp"; var result = GetCachedPage(baseUrl, "ageverified=1;"); var document = XmlConverter.ConvertToXml(result); var links = document .Descendants("table") .Where(element => element.Attribute("id") != null) .First(element => element.Attributes("id").Single().Value == "modelsTable") .Descendants("a") .Select(element => element.Attributes("href").Single().Value) .ToArray(); foreach (var link in links) { result = GetCachedPage("http://www.kink.com/k/" + link); document = XmlConverter.ConvertToXml(result); var name = document .Descendants("meta") .Where(element => element.Attribute("name") != null) .First(element => element.Attributes("name").Single().Value == "Keywords") .Attributes("content").Single().Value; UpdateSummary(name); links = document .Descendants("a") .Where(element => element.Attribute("class") != null) .Where(element => element.Attributes("class").Single().Value == "clickableArea") .Select(element => element.Attributes("href").Single().Value) .ToArray(); var person = dictionary.ContainsKey(name) ? dictionary[name] : new Person(); var personLink = person.PersonLinks.FirstOrDefault(pl => pl.Site == "pornjax"); if (personLink == null) { personLink = new PersonLink {Site = "pornjax"}; person.PersonLinks.Add(personLink); } var debug = 0; } }