예제 #1
0
        private Offer GetFullOffer(Offer teaser)
        {
            var client = new HtmlClient();

            var html = client.GetHtml(teaser.Url);

            var dom = new CQ(html);

            var header = dom[".wspolny_naglowek_tytul"][0].InnerHTML;
            if (header.Contains("PRYWATNA"))
            {
                teaser.PrivateOffer = true;
            }

            var fullDescription = dom[".pokaz_ogloszenie_tresc"];
            for (var i = 0; i < fullDescription.Length; i++)
            {
                teaser.Description =  TextHelper.CleanText(fullDescription.RenderSelection());
            }

            var kontakt = dom["ul.pokaz_ogloszenie"][0].OuterHTML;

            Regex rgx = new Regex("<script.+script>", RegexOptions.Singleline);
            Match match = rgx.Match(kontakt);
            if (match.Success)
                kontakt = rgx.Replace(kontakt, "");

            teaser.Description += kontakt;

            var pictureEls = dom["img.pokaz_ogloszenie_obrazek"];

            var pictures = new List<string>();

            foreach (var picture in pictureEls)
            {
                var pictureUrl = "http://ogloszenia.przemysl.pl/" + picture.ParentNode.Attributes["href"];
                pictures.Add(pictureUrl);
            }

            if (pictures.Count > 0)
            {
                teaser.Pictures = pictures;
            }

            teaser.Teaser = false;

            return teaser;
        }
예제 #2
0
        private TeaserCrawrlResult GetTeasers(string url)
        {
            var result = new TeaserCrawrlResult();

            var client = new HtmlClient();

            var html = client.GetHtml(url);

            var dom = new CQ(html);

            result.TeaserUrls = GetUrls(dom).ToList();
            result.Teasers = GetTeasers(dom);

            return result;
        }