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;
        }
Пример #3
0
 public void addStatija(Statija n)
 {
     statii.Add(n);
 }