.NET 4.x Парсинг HTML - C# (190730)
Формулировка задачи:
Здравствуйте, решил потренироваться в написании парсера Html страниц, но уперся в проблему и покуда не могу её решить. Для парсинга использую HtmlAgilityPack. Парсю сайт http://playhots.net/
При наведении на иконку героя появляется всплывающая подсказка(как это выглядит в моём браузере смотрите на картинке) с данными которые я хочу получить. Проблема в том, что при сохранении страницы или при просмотре кода страницы я не могу получить html код данного tooltip. На картинке он обведен красным. Я думаю, что данный код создаётся динамически с использованием JS.
Как мне программно(с помощью стандартных средств или HtmlAgilityPack) выполнить данный скрипт, чтобы получить html разметку tooltip-а?
Скорее всего, скрипт отвечающий за подсказки вот этот:
<script> $(document).ready(function(){ //tooltips $("[data-tooltip]").each(function(indx, element) { var $tool = $(element).data('tooltip'); $(element).opentip("", {ajax: "http://playhots.net/"+$tool+"", ajaxMethod: "POST", delay: 0.1, background: [ [ 0, "rgba(86, 179, 241, 0)" ], [ 1, "rgba(86, 179, 241, 0)" ] ], borderWidth: 0 }); }); //spoilers $('[data-tabgroup]').hide(); $('[data-tabctrl]').each(function(){ $(this).click(function(){ if($(this).hasClass('tr_disabled')) return; var tabgroup = $(this).data('tabctrl'); var tabid = $(this).data('ctabid'); if($('[data-tabgroup="'+tabgroup+'"][data-tabid="'+tabid+'"]').is(":visible")) return; $('[data-tabgroup='+tabgroup+']').hide(); $('[data-tabgroup="'+tabgroup+'"][data-tabid="'+tabid+'"]').show(); $('[data-tabctrl='+tabgroup+']').addClass('tr_inactive'); $(this).removeClass('tr_inactive'); }); if($(this).data('ctabid') == "1"){ $(this).click(); } }); }); </script>
Решение задачи: «.NET 4.x Парсинг HTML»
textual
Листинг программы
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://playhots.net/stormling/wiki/tooltiphero/14"); request.Method = "POST"; Stream requestStream = request.GetRequestStream(); requestStream.Close(); HttpWebResponse myHttpWebResponse = (HttpWebResponse)request.GetResponse(); Stream responseStream = myHttpWebResponse.GetResponseStream(); StreamReader myStreamReader = new StreamReader(responseStream, Encoding.UTF8); string pageContent = myStreamReader.ReadToEnd(); myStreamReader.Close(); responseStream.Close(); myHttpWebResponse.Close(); return pageContent;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д