Beispiel #1
0
        /// <summary>
        /// Точка входа в библиотеку. Отделяет полезные запросы от бесполезных и направляет каждый на свои парсеры
        /// </summary>
        /// <param name="page_type">Тип страницы: список матчей или страница кефа. Если страницы кефов нет - по умолчанию страница матчей</param>
        /// <param name="request_type">Тип запроса: обычный или фрейм WebSocket`а</param>
        /// <param name="request">Инфо с обычного запроса, либо NULL</param>
        /// <param name="wsFrame">Инфо о фрейме WebSocket`а, либо NULL</param>
        /// <returns>Вернуть распаршенную структуру Parsed или NULL, если запросу парсинг не требуется</returns>
        public Parsed Router(pageTypes page_type, requestTypes request_type, ref NormalRequest request, ref WebSocketRequest wsFrame)
        {
            // По request.request_url (если надо request_headers) направить на выполнение

            // Вернуть Parsed или null, если парсинг не нужен
            return(null);
        }
Beispiel #2
0
        /// <summary>
        /// Отделяет полезные запросы от бесполезных и направляет каждый на свои парсеры
        /// </summary>
        /// <param name="page_type">Тип страницы: список матчей или страница кефа. Если страницы кефов нет - по умолчанию страница матчей</param>
        /// <param name="request_type">Тип запроса: обычный или фрейм WebSocket`а</param>
        /// <param name="request">Инфо с обычного запроса, либо NULL</param>
        /// <param name="wsFrame">Инфо о фрейме WebSocket`а, либо NULL</param>
        /// <returns>Вернуть распаршенную структуру Parsed или NULL, если запросу парсинг не требуется</returns>
        public Parsed Router(pageTypes page_type, requestTypes request_type, ref NormalRequest request, ref WebSocketRequest wsFrame)
        {
            // Выходная структура
            Parsed parsed = new Parsed {
                BookmakerID = BookmakerID
            };

            // По request.request_url (если надо request_headers) направить на нужный парсер

            // Пример: получено xhr-обновление матчей
            if (page_type == pageTypes.MatchesList && request.request_url.Contains("/live_as.html?curs=0&curName=$"))
            {
                // Направляем на парсер списка матчей
                try
                {
                    parsed.matches = Matches(request.response_data);
                }
                catch { sendException("Неизвестная ошибка парсинга", "Router", request.response_data); return(null); }

                // Отдаём распаршенную структуру с матчами
                return(parsed);
            }

            // Получена страница одного матча
            else if (page_type == pageTypes.OneMatch && request.request_url.Contains("/live_ar.html?hl="))
            {
                // Направляем на парсер списка матчей
                try
                {
                    parsed.matches = Matches(request.response_data);
                }
                catch { sendException("Неизвестная ошибка парсинга", "Router", request.response_data); return(null); }

                // Отдаём распаршенную структуру с одним матчем
                return(parsed);
            }



            // Вернуть null, если парсинг не нужен
            return(null);
        }
Beispiel #3
0
 /// <summary>
 /// Точка входа в библиотеку. Отделяет полезные запросы от бесполезных и направляет каждый на свои парсеры
 /// </summary>
 /// <param name="page_type">Тип страницы: список матчей или страница кефа. Если страницы кефов нет - по умолчанию страница матчей</param>
 /// <param name="request_type">Тип запроса: обычный или фрейм WebSocket`а</param>
 /// <param name="request">Инфо с обычного запроса, либо NULL</param>
 /// <param name="wsFrame">Инфо о фрейме WebSocket`а, либо NULL</param>
 /// <returns>Вернуть распаршенную структуру Parsed или NULL, если запросу парсинг не требуется</returns>
 public Parsed Router(pageTypes page_type, requestTypes request_type, ref NormalRequest request, ref WebSocketRequest wsFrame)
 {
     return(new Parsed());
 }