Exemple #1
0
        /// <summary>
        /// Method gets all urls from requested domain
        /// </summary>
        public HashSet <string> CollectAllUrls()
        {
            TrimUlrNameIfNeeded(DomainUrl);

            for (int i = 0; i < DepthOfUrlsSearch; i++)
            {
                ParseUrlsFromCurrentLayer();
                SaveCurrentPageUrlsToLayerUrlCollection();
                SaveCurrentLayerToAllUrlsCollection();
            }

            AllUrlsOnCurrentPage.Clear();
            AllUrlsOnCurrentLayer.Clear();
            return(AllUrls);
        }
Exemple #2
0
        /// <summary>
        /// Method takes all links from embedded layer
        /// </summary>
        private void ParseUrlsFromCurrentLayer()
        {
            AllUrlsOnCurrentPage.Clear();

            if (AllUrls.Count == 0)
            {
                AllUrlsOnCurrentLayer.Add(DomainUrl);
            }

            foreach (var url in AllUrlsOnCurrentLayer)
            {
                if (url.StartsWith("/"))
                {
                    GetCurrentPageUrls(DomainUrl + url);
                }
                else
                {
                    GetCurrentPageUrls(url);
                }
            }

            AllUrlsOnCurrentLayer.Clear();
        }
Exemple #3
0
 /// <summary>
 /// Method save all urls from current page to AllUrlsOnCurrentLayer
 /// </summary>
 private void SaveCurrentPageUrlsToLayerUrlCollection()
 {
     AllUrlsOnCurrentLayer.UnionWith(AllUrlsOnCurrentPage);
 }