Разбор HTML и извлечение ресурсов в .NET Windows Service - PullRequest
2 голосов
/ 28 июня 2011

Я пишу сервис, который запускается каждые несколько минут и получает указанный URL.Я использую класс HttpWebRequest для запроса HTML.Это прекрасно работает, но мне также нужно измерить время, которое потребуется для загрузки страницы - т.е. сколько времени потребуется для загрузки CSS, JS и т. Д. Я бы хотел использовать элемент управления WebBrowser, но это не такработа ж / в службу, якобы.Кто-нибудь знает о стороннем компоненте, который достигнет этого?Я хотел бы сделать это как можно более простым.Наиболее сложным решением было бы использовать что-то вроде HTML Agility Pack для разбора HTML и получения всех ресурсов самостоятельно.Это потребовало бы существенного развития, чтобы стать идеальным, и я хотел бы найти что-то заранее запеченное, если это возможно.Наличие события «завершение загрузки документа», такого как элемент управления WebBrowser, является минимумом.Возможность получать статистику по каждому загруженному ресурсу была бы замечательной, но не обязательной.

Пожалуйста, помогите - очень признателен.

1 Ответ

0 голосов
/ 08 августа 2012

Вы должны использовать Html Agility Pack. Попробуйте что-то вроде этого:

StreamReader responseStream = new StreamReader(webResponse.GetResponseStream(), 
                                                   System.Text.Encoding.UTF8);
queryContent = responseStream.ReadToEnd();
        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(queryContent);
        HtmlNode bodyNode = doc.DocumentNode.SelectSingleNode("//body | //BODY");
        /*  */
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...