Exemple #1
0
        public void Crawl()
        {
            var newsPages = _newsPages
                            .Where(x => x.VideoLink != null)
                            .Where(x => x.Video == null).ToArray();

            foreach (var newsPage in newsPages)
            {
                try
                {
                    if (newsPage.Video != null)
                    {
                        return;
                    }

                    var id = YouTubeVideo.ParseId(newsPage.VideoLink);

                    var video = _videos.FirstOrDefault(x => x.ExternalId == id);

                    newsPage.Video = video ?? _youTubeProvider.Get(id);
                }
                catch (Exception e)
                {
                    Trace.TraceError(e.Message);
                }

                _unitOfWork.SaveChanges();
            }
        }