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); }
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)); }
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(); }
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(); }