Получение 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>

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


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

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

8   голосов , оценка 3.875 из 5
Похожие ответы