.NET 4.x Парсинг HTML - C# (190730)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, решил потренироваться в написании парсера Html страниц, но уперся в проблему и покуда не могу её решить. Для парсинга использую HtmlAgilityPack. Парсю сайт http://playhots.net/ При наведении на иконку героя появляется всплывающая подсказка(как это выглядит в моём браузере смотрите на картинке) с данными которые я хочу получить. Проблема в том, что при сохранении страницы или при просмотре кода страницы я не могу получить html код данного tooltip. На картинке он обведен красным. Я думаю, что данный код создаётся динамически с использованием JS. Как мне программно(с помощью стандартных средств или HtmlAgilityPack) выполнить данный скрипт, чтобы получить html разметку tooltip-а? Скорее всего, скрипт отвечающий за подсказки вот этот:
Листинг программы
  1. <script>
  2. $(document).ready(function(){
  3. //tooltips
  4. $("[data-tooltip]").each(function(indx, element) {
  5. var $tool = $(element).data('tooltip');
  6. $(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 });
  7. });
  8. //spoilers
  9. $('[data-tabgroup]').hide();
  10. $('[data-tabctrl]').each(function(){
  11. $(this).click(function(){
  12. if($(this).hasClass('tr_disabled')) return;
  13. var tabgroup = $(this).data('tabctrl');
  14. var tabid = $(this).data('ctabid');
  15. if($('[data-tabgroup="'+tabgroup+'"][data-tabid="'+tabid+'"]').is(":visible")) return;
  16. $('[data-tabgroup='+tabgroup+']').hide();
  17. $('[data-tabgroup="'+tabgroup+'"][data-tabid="'+tabid+'"]').show();
  18. $('[data-tabctrl='+tabgroup+']').addClass('tr_inactive');
  19. $(this).removeClass('tr_inactive');
  20. });
  21. if($(this).data('ctabid') == "1"){
  22. $(this).click();
  23. }
  24. });
  25. });
  26. </script>

Решение задачи: «.NET 4.x Парсинг HTML»

textual
Листинг программы
  1. HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://playhots.net/stormling/wiki/tooltiphero/14");
  2. request.Method = "POST";
  3. Stream requestStream = request.GetRequestStream();
  4. requestStream.Close();
  5. HttpWebResponse myHttpWebResponse = (HttpWebResponse)request.GetResponse();
  6. Stream responseStream = myHttpWebResponse.GetResponseStream();
  7. StreamReader myStreamReader = new StreamReader(responseStream, Encoding.UTF8);
  8. string pageContent = myStreamReader.ReadToEnd();
  9. myStreamReader.Close();
  10. responseStream.Close();
  11. myHttpWebResponse.Close();
  12. return pageContent;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут