Beispiel #1
0
        private void Crawl(string url)
        {
            string html        = CrawlDataFromUrl(url);
            var    list_Course = Regex.Matches(html, @"(?<=Học nhanh)([\s\S]*?)(?=(\s)*<div class=""text-warning font-size-sm"">)");

            foreach (var course in list_Course)
            {
                string strCourse  = course.ToString();
                string CourseName = Regex.Match(strCourse, @"(?<=>)(.*?)(?=</h4>)").Value;
                string CouseUrl   = Regex.Match(strCourse, @"(?<=href="")(.*?)(?="">)").Value;

                var item = new MenuTreeItem
                {
                    Name = CourseName,
                    URL  = CouseUrl
                };
                AddItemIntoTreeViewItem(TreeItems, item);

                //thêm mới các node con
                CrawlListVideo(CouseUrl, item);
            }
        }
Beispiel #2
0
        private void CrawlListVideo(string url, MenuTreeItem prarentNode)
        {
            //lấy ra html course con
            var htmlCourse = CrawlDataFromUrl(url);
            //lấy ra link đưa đến trang danh sách các phần bài học
            var urlPart = Regex.Match(htmlCourse, @"(?<=<div class=""asyncPartial"" data-url="")(.*?)(?="")").Value;
            //html của danh sách phần học
            var htmlListCourse = CrawlDataFromUrl(urlPart);

            var listPart = Regex.Matches(htmlListCourse, @"list-group-item([\s\S]*?)</a>");

            foreach (var part in listPart)
            {
                var    strPart  = part.ToString();
                string partName = Regex.Match(strPart, @"(?<=</span>)([\s\S]*?)(?=(<))").Value.Trim();
                string partUrl  = Regex.Match(strPart, @"(?<=href="")([\s\S]*?)(?="")").Value;
                var    item     = new MenuTreeItem
                {
                    Name = partName,
                    URL  = partUrl
                };
                AddItemIntoTreeViewItem(prarentNode.items, item);
            }
        }
Beispiel #3
0
 private void AddItemIntoTreeViewItem(ObservableCollection <MenuTreeItem> root, MenuTreeItem node)
 {
     TreeMain.Dispatcher.Invoke(new Action(() =>
     {
         root.Add(node);
     }));
 }