Получение html-кода страницы с выполненым javascript - C#
Формулировка задачи:
Добрый день!
Задача в следующем: необходимо получать данные онлайн матчей с сайта myscore.ru/tennis/ в режиме реального времени(пишу бота в телеграм)
В чем проблема?
Как ни пытаюсь получить код страницы(и через
HtmlAgilityPack
и черезwebbrowser
и черезwebclient
) везде в коде страницы где должен находиться счет, который мне надо спарсить находится яваскрипт. Как его выполнить и получить код страницы как в браузере? Возможно можно как то исполнять именно сам яваскрипт, чтобы не грузить всю страницу целиком, а только получать результат(хотелось бы сделать частый опрос раз в 1-5 сек). Заранее спасибо за советы.Решение задачи: «Получение html-кода страницы с выполненым javascript»
textual
Листинг программы
<div id="fsbody"><div id="fs_overlay"></div> <div id="fsi"></div> <div id="fscon"> <div id="preload" class="preload pvisit" ><span>Loading ...</span></div> </div> <script type="text/javascript"> //<![CDATA[ var videoHighlightsDisabledTournamentTemplates; $(function() { document.domain = 'myscore.com.ua'; 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; try { matches = /^([^#]+)#(.*)\breload:([0-9]+)\-([0-9])(.*)$/.exec(parent.location.href); } catch (e) {} if(matches) { prev_date = matches[3]; prev_category = matches[4]; // cut out reload message from url bookmark parent.location.href = matches[1] + "#" + (matches[2].substr(matches[2].length - 1) == ";" ? matches[2].substr(0, matches[2].length - 1) : matches[2]) + ((matches[5].substr(0, 1) == ";" && !matches[2].length) ? matches[5].substr(1) : matches[5]); } var startUpdater = true; videoHighlightsDisabledTournamentTemplates = []; init('tennis', 0, '0', true, null, null, startUpdater, '0', '0'); cjs.pageType = 'sport_page'; }); //]]> </script> </div>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д