public Statii RPSNews(string pageNumber) { Statii rezultantniStatii = new Statii(); Statija statijaZaDodavanje = null; HtmlWeb htmlWeb = new HtmlWeb(); string naslov = ""; string sodrzina = ""; string rezultat = ""; HtmlDocument document = htmlWeb.Load("http://www.rockpapershotgun.com/page/" + pageNumber); HtmlNode statii = document.GetElementbyId("left-column"); IEnumerable<HtmlNode> listaStatii = statii.Descendants("div").Where(div => div.GetAttributeValue("class", "").Contains("block")); foreach (HtmlNode statija in listaStatii) { naslov = statija.Descendants("h2").First().InnerText + "</br>"; statijaZaDodavanje = new Statija(); statijaZaDodavanje.Naslov = statija.Descendants("h2").First().InnerText; statijaZaDodavanje.Description = ""; HtmlNode link = statija.Descendants("a").Where(a => a.GetAttributeValue("rel", "").Contains("bookmark")).First(); HtmlDocument webStatija = htmlWeb.Load(link.Attributes["href"].Value.ToString()); HtmlNode glavnaStatija = webStatija.GetElementbyId("left-column"); sodrzina = ""; IEnumerable<HtmlNode> andwejkastatija = glavnaStatija.Descendants("div").Where(div => div.GetAttributeValue("class", "").Contains("entry")); statijaZaDodavanje.Avtor = glavnaStatija.Descendants("p").Where(p => p.GetAttributeValue("class", "").Contains("info")).First().InnerText; foreach (HtmlNode paragrafi in andwejkastatija) { IEnumerable<HtmlNode> tekstParagraf = paragrafi.Descendants("p"); statijaZaDodavanje.Slika = paragrafi.Descendants("img").First().Attributes["src"].Value.ToString(); foreach (HtmlNode paragraf in tekstParagraf) { sodrzina += paragraf.InnerHtml + "</br>"; statijaZaDodavanje.Description += paragraf.InnerText + "\n"; } sodrzina += "</br>"; } statijaZaDodavanje.Data = naslov + "</br>" + sodrzina + "</br>"; rezultantniStatii.addStatija(statijaZaDodavanje); } return rezultantniStatii; }
public Statii JoystiqNews(string pageNumber) { Statii rezultantniStatii = new Statii(); Statija statijaZaDodavanje = null; HtmlWeb htmlWeb = new HtmlWeb(); string naslov = ""; string sodrzina = ""; string rezultat = ""; string avtor = ""; HtmlDocument document = htmlWeb.Load("http://www.joystiq.com/page/" + pageNumber); HtmlNode statii = document.GetElementbyId("main-content"); IEnumerable<HtmlNode> listaStatii = statii.Descendants("div").Where(div => div.GetAttributeValue("class", "").Contains("post-inner")); foreach (HtmlNode statija in listaStatii) { HtmlNode naslovNaStatija = statija.Descendants("div").Where(div => div.GetAttributeValue("class", "").Contains("post-head")).First(); statijaZaDodavanje = new Statija(); naslov = naslovNaStatija.Descendants("h2").Where(h2 => h2.GetAttributeValue("class", "").Contains("headline")).First().InnerText; avtor ="by " + naslovNaStatija.Descendants("a").Where(a => a.GetAttributeValue("class", "").Contains("byline-author")).First().InnerText; //**********TREBA DA SE SREDAT ZAGRADITE VO NASLOVOT!!!***********// //naslov.CopyTo(0, naslov.ToCharArray(), 0, naslov.LastIndexOf("(") - 1); //naslov = asdf.ToString(); //***************************************************************// statijaZaDodavanje.Naslov = naslov; statijaZaDodavanje.Avtor = avtor; statijaZaDodavanje.Data = avtor + "</br>"; statijaZaDodavanje.Description = ""; string link = statija.Descendants("a").First().Attributes["href"].Value.ToString(); HtmlDocument novaStatija = htmlWeb.Load(link); HtmlNode celaStatija = novaStatija.GetElementbyId("main-content"); IEnumerable<HtmlNode> tekstNaStatija = celaStatija.Descendants("div").Where(div => div.GetAttributeValue("class", "").Contains("post-body")); sodrzina = ""; //sodrzina = link; //*******************NE RABOTI DOBRO************************// //IEnumerable <HtmlNode> imgHTML = statija.Descendants("a"); //foreach(HtmlNode slikaLink in imgHTML) //sodrzina += "ovde treba da ima link od slika >>>>" + slikaLink.Attributes["src"].Value.ToString() + "<<<<<< </br>"; //statijaZaDodavanje.Slika = slikaLink.Attributes["data-original"].Value.ToString(); //*********************************************************// IEnumerable<HtmlNode> sliki = tekstNaStatija.FirstOrDefault().Descendants("img"); if (sliki != null) { HtmlNode slikaLink = sliki.FirstOrDefault(); if (slikaLink != null) //Ako e null treba da se proveri i da se zeme video...ima problemi so videata vo aplikacijata... statijaZaDodavanje.Slika = slikaLink.Attributes["src"].Value.ToString(); } foreach (HtmlNode paragraf in tekstNaStatija) { sodrzina += paragraf.InnerHtml + "</br>"; statijaZaDodavanje.Description += paragraf.InnerText + "\n"; } rezultat += sodrzina + "</br>"; statijaZaDodavanje.Data += sodrzina + "</br>"; rezultantniStatii.addStatija(statijaZaDodavanje); } return rezultantniStatii; }
public void addStatija(Statija n) { statii.Add(n); }