Пример #1
0
        public List <Object> Scrap(string text)
        {
            List <Object> htmlLinks = new List <Object>();

            List <Regex> expressions = ScrapExpressions();

            MatchCollection m1 = Regex.Matches(text, expressions[0].ToString(), RegexOptions.Singleline);

            foreach (Match m in m1)
            {
                string   value   = m.Groups[1].Value;
                HTMLLink newLink = new HTMLLink();

                Match m2 = Regex.Match(value, expressions[1].ToString(), RegexOptions.Singleline);
                if (m2.Success)
                {
                    newLink.Href = m2.Groups[1].Value;
                }

                string htmlText = Regex.Replace(value, expressions[2].ToString(), "", RegexOptions.Singleline);

                newLink.Text = htmlText;

                htmlLinks.Add(newLink);
            }

            return(htmlLinks);
        }
Пример #2
0
        static string HTMLTableForPicturesLibrary(FileBrowseResult fbrs, int numberOfColumns, int pageNumber, int itemsPerPage, bool showThumbnails)
        {
            List <string> content = new List <string>();

            foreach (BrowseItem strFolder in fbrs.Directories)
            {
                string cellContent = "";

                // Link
                string folderPath = Path.Combine(fbrs.BaseDirectory, strFolder.Name);
                folderPath = Functions.EncodeToBase64(folderPath);

                string    folderImageSource = "/static/images/imgFolder150x75.png";
                HTMLImage image             = new HTMLImage(folderImageSource, "folderpic");
                cellContent += image.ToString();
                cellContent += "<br />";
                cellContent += Path.GetFileName(strFolder.Name);


                HTMLLink lnk = new HTMLLink("browsepics?PATH=" + folderPath, cellContent);

                content.Add(lnk.ToString());
            }
            foreach (BrowseItem strFile in fbrs.Files)
            {
                // Assemble path to file
                string filePath = Path.Combine(fbrs.BaseDirectory, strFile.Name);
                filePath = Functions.EncodeToBase64(filePath);

                string    imgSrc = "getfilethumbnail64?filename=" + filePath + "&size=medium";
                HTMLImage image  = new HTMLImage(imgSrc, "thumbnail");


                // Link
                HTMLLink lnk = new HTMLLink("viewpic?FN=" + filePath + "&size=extralarge", image.ToString());

                content.Add(lnk.ToString());
            }

            return(HTMLTable.HTMLTableWithCellContents("picturelibrarytable", numberOfColumns, content));
        }
Пример #3
0
        private void DoUpdate()
        {
            NewFilesList.Clear();
            List <string> lstLinks = new List <string>();

            HtmlAgilityPack.HtmlDocument htmlDocument = new HtmlAgilityPack.HtmlDocument();
            WebRequest request = WebRequest.Create(HTMLLink);

            htmlDocument.Load(request.GetResponse().GetResponseStream());
            string             buildNewLink = null;
            bool               moveToRoot   = false;
            HtmlNodeCollection links        = htmlDocument.DocumentNode.SelectNodes("//a");

            foreach (HtmlNode link in links)
            {
                HtmlAttribute att = link.Attributes["href"];

                if (att == null)
                {
                    continue;
                }
                string newLink = att.Value;
                if (!MatchUpdateSign(newLink))
                {
                    continue;
                }
                if (!newLink.StartsWith("http://"))
                {
                    if (newLink.StartsWith("/"))
                    {
                        newLink    = newLink.Remove(0, 1);
                        moveToRoot = true;
                    }
                    if (newLink.StartsWith("wenxue"))
                    {
                        newLink = newLink.Substring(newLink.LastIndexOf("/") + 1);
                    }

                    if (!moveToRoot)
                    {
                        buildNewLink = HTMLLink.Substring(0, HTMLLink.LastIndexOf("/") + 1) + newLink;
                    }
                    else
                    {
                        buildNewLink = HTMLLink.Substring(0, HTMLLink.IndexOf("/", 7) + 1) + newLink;
                        moveToRoot   = false;
                    }
                }
                else
                {
                    buildNewLink = newLink;
                }

                if (!FilesList.Contains(buildNewLink))
                {
                    NewFilesList.Add(buildNewLink);
                }
            }

            if (SortBeforeDownload)
            {
                NewFilesList = DoSort(NewFilesList);
            }
            PreviousStepCount = GetPreviousStepCount();
        }
Пример #4
0
        private void DoUpdate()
        {
            NewFilesList.Clear();
            NewChapterNamesList.Clear();
            List <string> lstLinks = new List <string>();

            //Trust all certificates
            System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); };
            HtmlAgilityPack.HtmlDocument htmlDocument = new HtmlAgilityPack.HtmlDocument();
            WebRequest request = WebRequest.Create(HTMLLink);

            htmlDocument.Load(request.GetResponse().GetResponseStream(), ContentEncoding);
            string             buildNewLink = null;
            bool               moveToRoot   = false;
            HtmlNodeCollection links        = htmlDocument.DocumentNode.SelectNodes("//a");

            foreach (HtmlNode link in links)
            {
                HtmlAttribute att = link.Attributes["href"];

                if (att == null)
                {
                    continue;
                }
                string newLink = att.Value;
                if (!MatchUpdateSign(newLink))
                {
                    continue;
                }
                if (!newLink.StartsWith("http://") && !newLink.StartsWith("https://"))
                {
                    if (newLink.StartsWith("/"))
                    {
                        newLink    = newLink.Remove(0, 1);
                        moveToRoot = true;
                    }
                    if (newLink.StartsWith("wenxue"))
                    {
                        newLink = newLink.Substring(newLink.LastIndexOf("/") + 1);
                    }

                    if (!moveToRoot)
                    {
                        buildNewLink = HTMLLink.Substring(0, HTMLLink.LastIndexOf("/") + 1) + newLink;
                    }
                    else
                    {
                        int startPoint = HTMLLink.StartsWith("https") ? 8 : 7;
                        buildNewLink = HTMLLink.Substring(0, HTMLLink.IndexOf("/", startPoint) + 1) + newLink;
                        moveToRoot   = false;
                    }
                }
                else
                {
                    buildNewLink = newLink;
                }

                if (!FilesList.Contains(buildNewLink))
                {
                    NewFilesList.Add(buildNewLink);
                    NewChapterNamesList.Add(GetUTF8Content(HTMLLink, link.InnerHtml, ContentEncoding));
                }
            }

            if (SortBeforeDownload)
            {
                NewFilesList = DoSort(NewFilesList);
            }
            PreviousStepCount = GetPreviousStepCount();
        }