запустить то есть и сохранить страницу - PullRequest
0 голосов
/ 14 января 2011

Мне нужно запустить IE, просмотреть много разных сайтов и сохранить страницы, которые я просматриваю. Может ли .net работать с IE подобным образом или сценарий лучше?

Ответы [ 3 ]

3 голосов
/ 14 января 2011

Если вы просто хотите сохранить страницу, сделайте что-то вроде этого.Здесь вы получите этот 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.

2 голосов
/ 17 января 2011

Принятый ответ слишком сложен. Если вам действительно нужно скачать исходный 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

(это будет работать и с локальными URL)

2 голосов
/ 14 января 2011

Я бы предложил для этого использовать класс WebBrowser .Вы можете загрузить сайт, а затем использовать его обработчики событий для сохранения веб-страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...