.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;