我需要启动IE浏览器,浏览到许多不同的站点并保存我浏览的页面。 .net可以像这样使用IE,还是脚本更好的方法?
答案 0 :(得分:3)
如果您只想保存页面,请执行以下操作。在这里你得到的是html,而不是页面的屏幕截图。
string url = "http://google.com";
string strResult = "";
WebResponse objResponse;
WebRequest objRequest = System.Net.HttpWebRequest.Create(url);
objResponse = objRequest.GetResponse();
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
strResult = sr.ReadToEnd();
// Close and clean up the StreamReader
sr.Close();
}
// Display results to a webpage
//Response.Write(strResult);
Console.WriteLine(strResult);
Console.ReadKey();
如果您需要页面图片,请使用autoit或watin。
答案 1 :(得分:2)
我建议使用WebBrowser类。您可以加载该站点,然后您可以使用其事件处理程序来保存该网页。
答案 2 :(得分:2)
接受的答案太复杂了。如果您真的只需要下载源html,请使用此函数:
function Download-Page([string]$url) {
$w = New-Object net.webclient
$w.DownloadString($url)
}
然后你可以保存这样的内容:
Download-Page http://www.google.com | Set-Content d:\google.html
(这也适用于localhost网址)