我有一个页面'PageA',上面有大约20个链接。每个链接指向不同的页面。
如何以编程方式访问PageA上的所有链接,然后将每个页面(20)下载为.mht?
还有现有的应用程序吗?
答案 0 :(得分:2)
我强烈建议您使用HTML Agility Pack来解析页面外的链接。这往往比正则表达式更强大。
HtmlDocument doc = new HtmlDocument();
doc.Load("PageA.htm");
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href"])
{
HtmlAttribute att = link["href"];
//...
}
要仅选择具有特定模式的超链接,您需要更新传递给SelectNodes方法的xpath表达式。例如。
.SelectNodes("//a[@href=\"abc.com/articles\""])
答案 1 :(得分:0)
您可以使用正则表达式搜索所有链接,然后使用WebClient类的实例下载内容。这是一个例子http://dotnetperls.com/scraping-html(我没有尝试过,只是在互联网上找到的。)
希望它有所帮助。