我有一個頁面'PageA',它有大約20個鏈接。每個鏈接都會導致不同的頁面。檢測URL並從中下載內容
如何以編程方式訪問PageA上的所有鏈接,然後將每個頁面(20)下載爲.mht?
此外,是否有任何現有的應用程序呢?
我有一個頁面'PageA',它有大約20個鏈接。每個鏈接都會導致不同的頁面。檢測URL並從中下載內容
如何以編程方式訪問PageA上的所有鏈接,然後將每個頁面(20)下載爲.mht?
此外,是否有任何現有的應用程序呢?
我強烈建議使用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\""])
我可以選擇不超鏈接,但只有這種格式http://abc.com/articles/ – Veejay 2010-04-21 05:07:39
您可以使用正則表達式搜索所有鏈接,然後使用WebClient類的實例下載內容。這裏有一個例子http://dotnetperls.com/scraping-html(我沒有嘗試過,只是在互聯網上找到)。
希望它有幫助。
什麼是「mht」文檔? – zneak 2010-04-21 03:04:12
http://en.wikipedia.org/wiki/MHTML – Veejay 2010-04-21 03:09:29