Получение html-кода страницы с выполненым javascript - C#

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

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

Добрый день! Задача в следующем: необходимо получать данные онлайн матчей с сайта myscore.ru/tennis/ в режиме реального времени(пишу бота в телеграм) В чем проблема? Как ни пытаюсь получить код страницы(и через

HtmlAgilityPack

и через

webbrowser

и через

webclient

) везде в коде страницы где должен находиться счет, который мне надо спарсить находится яваскрипт. Как его выполнить и получить код страницы как в браузере? Возможно можно как то исполнять именно сам яваскрипт, чтобы не грузить всю страницу целиком, а только получать результат(хотелось бы сделать частый опрос раз в 1-5 сек). Заранее спасибо за советы.

Решение задачи: «Получение html-кода страницы с выполненым javascript»

textual
Листинг программы
  1. <div id="fsbody"><div id="fs_overlay"></div>    <div id="fsi"></div>
  2.     <div id="fscon">
  3.     <div id="preload" class="preload pvisit" ><span>Loading ...</span></div>
  4.     </div>
  5.     <script type="text/javascript">
  6.         //<![CDATA[
  7.             var videoHighlightsDisabledTournamentTemplates;
  8.         $(function() {
  9.             document.domain = 'myscore.com.ua';
  10.  
  11.     custom_enable = true;sentences = [];sentences_parts = [];hover_color = null;iframe_external = false;default_tz = 3;matches = null;mid_s = 2;mpe_alias = 'p1:100, p2:100, p3:100, p4:100, p5:100, p6:100, p7:100, p8:100, p9:100, p10:100';mpe_debug = false;mpe_delivery = 'p';mpr = '18';odds_enable = true;mixed_feed = false;project_id = 32;check_lang_box_geo_ip = ["TR","IN","HU","DE","CH","GR","SK","FR","AE","AT","BG","ID","KP","KR","MY","NL","NO","RO","SE","SI","GB","AU","NZ","CZ","PL","FI","PT","ES","DK","HR","MK","BA","RS","ME","IT","BR","AR","BO","CL","CO","GF","GY","PY","PE","SR","UY","VE","PA","JM","MX","GT","NI","CU","CA","JP","VN"];sport_sort = {"s1":0,"s4":1,"s2":2,"s3":3,"s12":4,"s7":5,"s11":6,"s6":7,"s37":8,"s5":9,"s8":10,"s19":11,"s9":12,"s10":13,"s18":14,"s13":15,"s14":16,"s15":17,"s16":18,"s17":19,"s21":20,"s22":21,"s23":22,"s24":23,"s25":24,"s26":25,"s28":26,"s29":27,"s30":28,"s31":29,"s32":30,"s33":31,"s34":32,"s35":33,"s36":34,"s39":35,"s40":36,"s41":37,"s38":38,"s42":39};prev_category = null;prev_date = null;push_fail_logging = false;refresh_serial = 0;sport = 'tennis';stats_enable = true;tudate = 1504742400;cjs.cfg.topLeaguesFirst = true;cjs.cfg.fs_stats_enable = true;cjs.cfg.fs_stats_url_mygames = 'remote-stats.flashscore.com/mg';cjs.cfg.fs_stats_url_inscore = 'remote-stats.flashscore.com/in';cjs.cfg.fs_stats_url_adblocked = '';stats_live_enable = 1;country_id = 0;tournament_id = 0;series_id = 0;participant_id = 0;
  12.             try {
  13.                 matches = /^([^#]+)#(.*)\breload:([0-9]+)\-([0-9])(.*)$/.exec(parent.location.href);
  14.             } catch (e) {}
  15.  
  16.             if(matches)
  17.             {
  18.                 prev_date = matches[3];
  19.                 prev_category = matches[4];
  20.                 // cut out reload message from url bookmark
  21.                 parent.location.href = matches[1] + "#" +
  22.                     (matches[2].substr(matches[2].length - 1) == ";" ? matches[2].substr(0, matches[2].length - 1) : matches[2]) +
  23.                     ((matches[5].substr(0, 1) == ";" && !matches[2].length) ? matches[5].substr(1) : matches[5]);
  24.             }
  25.  
  26.                 var startUpdater = true;
  27.  
  28.                         videoHighlightsDisabledTournamentTemplates = [];
  29.  
  30.             init('tennis', 0, '0', true, null, null, startUpdater, '0', '0');
  31.             cjs.pageType = 'sport_page';
  32.  
  33.         });
  34.             //]]>
  35.     </script>
  36.     </div>

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


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

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

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

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

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

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