Опубликовано 13 марта, 20242 г. 3 минуты назад, red_star сказал: Опять на сайтах статистики очередные "поменяшки". В большинстве таблиц не скачиваются результаты и некоторые расчетные параметры при парсинге считаются неправильно. Поменяли расположение информации о результатах первого тайма. Так что все, что касается первого тайма - сбоит. Вот-вот.
Опубликовано 13 марта, 20242 г. Постоянный ребята всем привет😉, уже многими, было замечено, очередное обновление флешскора, а именно, результат матча, сайт возвращает, неверно. Отдельное спасибо говорим Adok-ку, он мне об этом сообщил👍 Что в коде изменилось? Раньше, с главной страницы, можно было спарсить, 1-й тайм и второй, потом сложить оба и получить результат матча. А сейчас сайт, работает так, возвращает 2-й тайм и результат матча, а первого тайма там нет. Поэтому, его нужно отдельно посчитать. Для этого нужно, внести, небольшие изменения в код. В модулях, загрузки линии и архива, если он есть. Вобщем, где есть загрузка матчей или обновления результатов. Как самостоятельно исправить, на примере парсера от Инфинити. 1. Зайти в модуль загрузки линии. У Инфинити, он называется getMS. Этот модуль отвечает за загрузку матчей с главной страницы флешскора. Иначе, если Вы не нашли getMS, найти похожий, где есть нужные индексы AA, AD … BD или воспользоваться поиском. Указав BA или BB для поиска. Таким же образом, можно найти и модуль для обновления результатов архива. 2. Изменить индексы, BA и BB BA на AT BB на AU Раньше индекс BA отвечал за результат 1-го тайма для HOME, а BB для AWAY После изменения индексов на AT и AU. Теперь в переменной home_scored_first у нас результат всего матча для HOME, а в away_scored_first – AWAY. Ещё раз повторюсь, теперь переменные хранят, результат всего матча для каждой отдельной команды. Имена переменных, могут отличаться, но хранят информацию одинаково. 3. Далее, нужно найти место, где эти переменные используются для вывода результата на лист. В парсере от Инфинити, у нас вывод только результата матча, без 1-го тайма. Чтобы исправить загрузку результатов в нём, нужно: datalist2 = Array(.......................... Заменить на: datalist2 = Array(home_scored_first, away_scored_first) Всё!! Ремонт закончен🔧😅 P.S. Примеры из других парсеров, Делюкс: Было так для первого тайма: Sheets("Archive").Range("AF" & rowindx).Value = first_home & " : " & first_away Должно быть так: Sheets("Archive").Range("AF" & rowindx).Value = Val(first_home) - Val(second_home) & " : " & Val(first_away) - Val(second_away) Было так для матча: Sheets("Archive").Range("AG" & rowindx).Value = (Val(first_home) + Val(second_home)) & " : " & (Val(first_away) + Val(second_away)) Теперь так: Sheets("Archive").Range("AG" & rowindx).Value = first_home & " : " & first_away
Опубликовано 13 марта, 20242 г. 40 минут назад, Shurik91 сказал: ребята всем привет😉, уже многими, было замечено, очередное обновление флешскора, а именно, результат матча, сайт возвращает, неверно. Отдельное спасибо говорим Adok-ку, он мне об этом сообщил👍 Что в коде изменилось? Раньше, с главной страницы, можно было спарсить, 1-й тайм и второй, потом сложить оба и получить результат матча. А сейчас сайт, работает так, возвращает 2-й тайм и результат матча, а первого тайма там нет. Поэтому, его нужно отдельно посчитать. Для этого нужно, внести, небольшие изменения в код. В модулях, загрузки линии и архива, если он есть. Вобщем, где есть загрузка матчей или обновления результатов. Как самостоятельно исправить, на примере парсера от Инфинити. 1. Зайти в модуль загрузки линии. У Инфинити, он называется getMS. Этот модуль отвечает за загрузку матчей с главной страницы флешскора. Иначе, если Вы не нашли getMS, найти похожий, где есть нужные индексы AA, AD … BD или воспользоваться поиском. Указав BA или BB для поиска. Таким же образом, можно найти и модуль для обновления результатов архива. 2. Изменить индексы, BA и BB BA на AT BB на AU Раньше индекс BA отвечал за результат 1-го тайма для HOME, а BB для AWAY После изменения индексов на AT и AU. Теперь в переменной home_scored_first у нас результат всего матча для HOME, а в away_scored_first – AWAY. Ещё раз повторюсь, теперь переменные хранят, результат всего матча для каждой отдельной команды. Имена переменных, могут отличаться, но хранят информацию одинаково. 3. Далее, нужно найти место, где эти переменные используются для вывода результата на лист. В парсере от Инфинити, у нас вывод только результата матча, без 1-го тайма. Чтобы исправить загрузку результатов в нём, нужно: datalist2 = Array(.......................... Заменить на: datalist2 = Array(home_scored_first, away_scored_first) Всё!! Ремонт закончен🔧😅 P.S. Примеры из других парсеров, Делюкс: Было так для первого тайма: Sheets("Archive").Range("AF" & rowindx).Value = first_home & " : " & first_away Должно быть так: Sheets("Archive").Range("AF" & rowindx).Value = Val(first_home) - Val(second_home) & " : " & Val(first_away) - Val(second_away) Было так для матча: Sheets("Archive").Range("AG" & rowindx).Value = (Val(first_home) + Val(second_home)) & " : " & (Val(first_away) + Val(second_away)) Теперь так: Sheets("Archive").Range("AG" & rowindx).Value = first_home & " : " & first_away Спасибо! Ты кудесник!!!
Опубликовано 13 марта, 20242 г. 1 час назад, Shurik91 сказал: ребята всем привет😉, уже многими, было замечено, очередное обновление флешскора, а именно, результат матча, сайт возвращает, неверно. Отдельное спасибо говорим Adok-ку, он мне об этом сообщил👍 Что в коде изменилось? Раньше, с главной страницы, можно было спарсить, 1-й тайм и второй, потом сложить оба и получить результат матча. А сейчас сайт, работает так, возвращает 2-й тайм и результат матча, а первого тайма там нет. Поэтому, его нужно отдельно посчитать. Для этого нужно, внести, небольшие изменения в код. В модулях, загрузки линии и архива, если он есть. Вобщем, где есть загрузка матчей или обновления результатов. Как самостоятельно исправить, на примере парсера от Инфинити. 1. Зайти в модуль загрузки линии. У Инфинити, он называется getMS. Этот модуль отвечает за загрузку матчей с главной страницы флешскора. Иначе, если Вы не нашли getMS, найти похожий, где есть нужные индексы AA, AD … BD или воспользоваться поиском. Указав BA или BB для поиска. Таким же образом, можно найти и модуль для обновления результатов архива. 2. Изменить индексы, BA и BB BA на AT BB на AU Раньше индекс BA отвечал за результат 1-го тайма для HOME, а BB для AWAY После изменения индексов на AT и AU. Теперь в переменной home_scored_first у нас результат всего матча для HOME, а в away_scored_first – AWAY. Ещё раз повторюсь, теперь переменные хранят, результат всего матча для каждой отдельной команды. Имена переменных, могут отличаться, но хранят информацию одинаково. 3. Далее, нужно найти место, где эти переменные используются для вывода результата на лист. В парсере от Инфинити, у нас вывод только результата матча, без 1-го тайма. Чтобы исправить загрузку результатов в нём, нужно: datalist2 = Array(.......................... Заменить на: datalist2 = Array(home_scored_first, away_scored_first) Всё!! Ремонт закончен🔧😅 P.S. Примеры из других парсеров, Делюкс: Было так для первого тайма: Sheets("Archive").Range("AF" & rowindx).Value = first_home & " : " & first_away Должно быть так: Sheets("Archive").Range("AF" & rowindx).Value = Val(first_home) - Val(second_home) & " : " & Val(first_away) - Val(second_away) Было так для матча: Sheets("Archive").Range("AG" & rowindx).Value = (Val(first_home) + Val(second_home)) & " : " & (Val(first_away) + Val(second_away)) Теперь так: Sheets("Archive").Range("AG" & rowindx).Value = first_home & " : " & first_away У меня даже получилось выводить и первый и второй тайм.
Опубликовано 13 марта, 20242 г. 1 час назад, deshenal сказал: I even managed to show both the first and second half. какие переменные вы изменили?
Опубликовано 13 марта, 20242 г. 10 минут назад, vadavada сказал: какие переменные вы изменили? Поменяла индексы, как Вы указали и прописала действие: half_time = (Val(first_home) - Val(second_home)) & " : " & (Val(first_away) - Val(second_away)) full_time = first_home & " : " & first_away Только вот не знаю, как в модулях HomeAll и AwayAll заставить первые таймы прописывать.
Опубликовано 13 марта, 20242 г. 1 минуту назад, deshenal сказал: I changed the indexes as you indicated and prescribed the action: half_time = (Val(first_home) - Val(second_home)) & " : " & (Val(first_away) - Val(second_away)) full_time = first_home & " : " & first_away But I don’t know how to force the first halves to be written in the HomeAll and AwayAll modules. можешь поделиться этим модулем? В моем файле его, кажется, нет.
Опубликовано 13 марта, 20242 г. 4 минуты назад, vadavada сказал: можешь поделиться этим модулем? В моем файле его, кажется, нет. Это первый модуль в любом парсере.
Опубликовано 13 марта, 20242 г. 2 минуты назад, deshenal сказал: This is the first module in any parser. кажется, мы работаем над разными таблицами
Опубликовано 13 марта, 20242 г. Только что, vadavada сказал: кажется, мы работаем над разными таблицами Возможно. Давайте свою я гляну.
Опубликовано 14 марта, 20242 г. 11 часов назад, Shurik91 сказал: ребята всем привет😉, уже многими, было замечено, очередное обновление флешскора, а именно, результат матча, сайт возвращает, неверно. Отдельное спасибо говорим Adok-ку, он мне об этом сообщил👍 Что в коде изменилось? Раньше, с главной страницы, можно было спарсить, 1-й тайм и второй, потом сложить оба и получить результат матча. А сейчас сайт, работает так, возвращает 2-й тайм и результат матча, а первого тайма там нет. Поэтому, его нужно отдельно посчитать. Для этого нужно, внести, небольшие изменения в код. В модулях, загрузки линии и архива, если он есть. Вобщем, где есть загрузка матчей или обновления результатов. Как самостоятельно исправить, на примере парсера от Инфинити. 1. Зайти в модуль загрузки линии. У Инфинити, он называется getMS. Этот модуль отвечает за загрузку матчей с главной страницы флешскора. Иначе, если Вы не нашли getMS, найти похожий, где есть нужные индексы AA, AD … BD или воспользоваться поиском. Указав BA или BB для поиска. Таким же образом, можно найти и модуль для обновления результатов архива. 2. Изменить индексы, BA и BB BA на AT BB на AU Раньше индекс BA отвечал за результат 1-го тайма для HOME, а BB для AWAY После изменения индексов на AT и AU. Теперь в переменной home_scored_first у нас результат всего матча для HOME, а в away_scored_first – AWAY. Ещё раз повторюсь, теперь переменные хранят, результат всего матча для каждой отдельной команды. Имена переменных, могут отличаться, но хранят информацию одинаково. 3. Далее, нужно найти место, где эти переменные используются для вывода результата на лист. В парсере от Инфинити, у нас вывод только результата матча, без 1-го тайма. Чтобы исправить загрузку результатов в нём, нужно: datalist2 = Array(.......................... Заменить на: datalist2 = Array(home_scored_first, away_scored_first) Всё!! Ремонт закончен🔧😅 P.S. Примеры из других парсеров, Делюкс: Было так для первого тайма: Sheets("Archive").Range("AF" & rowindx).Value = first_home & " : " & first_away Должно быть так: Sheets("Archive").Range("AF" & rowindx).Value = Val(first_home) - Val(second_home) & " : " & Val(first_away) - Val(second_away) Было так для матча: Sheets("Archive").Range("AG" & rowindx).Value = (Val(first_home) + Val(second_home)) & " : " & (Val(first_away) + Val(second_away)) Теперь так: Sheets("Archive").Range("AG" & rowindx).Value = first_home & " : " & first_away спасибо
Опубликовано 14 марта, 20242 г. Изменились сами запросы. Раньше была одна ссылка запроса. Сейчас 3 ссылки запроса. Самый простой вариант - разделить запрос на таймы и оттуда все выдергивать. Если сложнее просто переписать парсер. Но вариант который выше тоже рабочий просто в самом коде разницу матч-2 тайм сделайте и работать будет.
Опубликовано 14 марта, 20242 г. Постоянный 11 часов назад, deshenal сказал: Поменяла индексы, как Вы указали и прописала действие: half_time = (Val(first_home) - Val(second_home)) & " : " & (Val(first_away) - Val(second_away)) full_time = first_home & " : " & first_away Только вот не знаю, как в модулях HomeAll и AwayAll заставить первые таймы прописывать. привет🌷 замени индексы BA и BB для этих модулей: далее, только там, где идёт запись на лист, замени переменные с приставкой _first, на расчёт 1-го тайма. Имена переменных могут отличаться. На скрине, я ✖️ показал, как было раньше и как быть не должно, а ✔️ как правильно и как должно быть сейчас. Записей на листе около 6 шт., не забудь поменять все. Пример показан для таблицы Делюкс и похожих😉 Обязательно прогони парсер для теста и убедись, что на всех листах есть 1-й тайм и результат верный👍 Изменено 14 марта, 20242 г. пользователем Shurik91
Опубликовано 14 марта, 20242 г. Модераторы 30 минут назад, Shurik91 сказал: привет🌷 замени индексы BA и BB для этих модулей: далее, только там, где идёт запись на лист, замени переменные с приставкой _first, на расчёт 1-го тайма. Имена переменных могут отличаться. На скрине, я ✖️ показал, как было раньше и как быть не должно, а ✔️ как правильно и как должно быть сейчас. Записей на листе около 6 шт., не забудь поменять все. Пример показан для таблицы Делюкс и похожих😉 Обязательно прогони парсер для теста и убедись, что на всех листах есть 1-й тайм и результат верный👍 в DeluX_API-based_v1.0 вроде все работает корректно..всегда считал это идеальным решением.
Опубликовано 14 марта, 20242 г. Постоянный 2 минуты назад, al88sm сказал: в DeluX_API-based_v1.0 вроде все работает корректно..всегда считал это идеальным решением. есть много других таблиц, похожих на Делюкс, они работают с флешскорами, исправления только для них.
Опубликовано 14 марта, 20242 г. 3 минуты назад, Shurik91 сказал: есть много других таблиц, похожих на Делюкс, они работают с флешскорами, исправления только для них. можно ссылку на таблицы?
Опубликовано 14 марта, 20242 г. 1 час назад, Shurik91 сказал: привет🌷 замени индексы BA и BB для этих модулей: далее, только там, где идёт запись на лист, замени переменные с приставкой _first, на расчёт 1-го тайма. Имена переменных могут отличаться. На скрине, я ✖️ показал, как было раньше и как быть не должно, а ✔️ как правильно и как должно быть сейчас. Записей на листе около 6 шт., не забудь поменять все. Пример показан для таблицы Делюкс и похожих😉 Обязательно прогони парсер для теста и убедись, что на всех листах есть 1-й тайм и результат верный👍 Спасибочки!!! Всё получилось!!!
Опубликовано 14 марта, 20242 г. всем добрый день . поиогите отремонтировать таблицу Quartz CoteBet.xlsb
Опубликовано 14 марта, 20242 г. Добрый день! Помогите восстановить таблицу. Не выдает результаты. QUARTZ_SYSTEM_MOD RUS (1).xlsm
Опубликовано 14 марта, 20242 г. 10 минут назад, dchervyakov сказал: Добрый день! Помогите восстановить таблицу. Не выдает результаты. QUARTZ_SYSTEM_MOD RUS (1).xlsm 1.42 MB · 0 загрузок назовите сколько будет стоить?
Опубликовано 14 марта, 20242 г. Добрый вечер! А кто подскажет, что в таком варианте нужно заменить? ElseIf fs_index_name = "AA" Then first_home = "": first_away = "": second_home = "": second_away = "" For j = 0 To fs_row_length - 1 fs_row_parts = Split(fs_row(j), ChrW(&HF7)) If fs_row_parts(0) = "AA" Then match_id = fs_row_parts(1) If fs_row_parts(0) = "BA" Then first_home = fs_row_parts(1) If fs_row_parts(0) = "BB" Then first_away = fs_row_parts(1) If fs_row_parts(0) = "BC" Then second_home = fs_row_parts(1) If fs_row_parts(0) = "BD" Then second_away = fs_row_parts(1) If fs_row_parts(0) = "AB" Then status_game = fs_row_parts(1) If fs_row_parts(0) = "AC" Then status_game_code = fs_row_parts(1) Next j Set fcell = ThisWorkbook.Sheets("listing").Columns("E:E").Find(match_id) rowindx = CStr(fcell.Row) If status_game = 3 And (status_game_code = 3 Or status_game_code = 10 Or status_game_code = 11) And first_home <> "" And second_home <> "" Then Sheets("listing").Range("BI" & rowindx).Value = first_home & " : " & first_away Sheets("listing").Range("BJ" & rowindx).Value = (Val(first_home) + Val(second_home)) & " : " & (Val(first_away) + Val(second_away))
Опубликовано 14 марта, 20242 г. 11 минут назад, Lucky сказал: Добрый вечер! А кто подскажет, что в таком варианте нужно заменить? ElseIf fs_index_name = "AA" Then first_home = "": first_away = "": second_home = "": second_away = "" For j = 0 To fs_row_length - 1 fs_row_parts = Split(fs_row(j), ChrW(&HF7)) If fs_row_parts(0) = "AA" Then match_id = fs_row_parts(1) If fs_row_parts(0) = "BA" Then first_home = fs_row_parts(1) If fs_row_parts(0) = "BB" Then first_away = fs_row_parts(1) If fs_row_parts(0) = "BC" Then second_home = fs_row_parts(1) If fs_row_parts(0) = "BD" Then second_away = fs_row_parts(1) If fs_row_parts(0) = "AB" Then status_game = fs_row_parts(1) If fs_row_parts(0) = "AC" Then status_game_code = fs_row_parts(1) Next j Set fcell = ThisWorkbook.Sheets("listing").Columns("E:E").Find(match_id) rowindx = CStr(fcell.Row) If status_game = 3 And (status_game_code = 3 Or status_game_code = 10 Or status_game_code = 11) And first_home <> "" And second_home <> "" Then Sheets("listing").Range("BI" & rowindx).Value = first_home & " : " & first_away Sheets("listing").Range("BJ" & rowindx).Value = (Val(first_home) + Val(second_home)) & " : " & (Val(first_away) + Val(second_away)) При замене BA на AT и BB на AU получаем результат всего матч в строке первого тайма, а в строке всего тайма вообще непонятный результат 🙂 !!!
Опубликовано 14 марта, 20242 г. 3 минуты назад, Lucky сказал: При замене BA на AT и BB на AU получаем результат всего матч в строке первого тайма, а в строке всего тайма вообще непонятный результат 🙂 !!! А в строке всего матча получаете результат матча+результат второго тайма.
Опубликовано 14 марта, 20242 г. Постоянный 6 минут назад, Lucky сказал: При замене BA на AT и BB на AU получаем результат всего матч в строке первого тайма, а в строке всего тайма вообще непонятный результат 🙂 !!! попробуй ElseIf fs_index_name = "AA" Then first_home = "": first_away = "": second_home = "": second_away = "" For j = 0 To fs_row_length - 1 fs_row_parts = Split(fs_row(j), ChrW(&HF7)) If fs_row_parts(0) = "AA" Then match_id = fs_row_parts(1) If fs_row_parts(0) = "AT" Then first_home = fs_row_parts(1) If fs_row_parts(0) = "AU" Then first_away = fs_row_parts(1) If fs_row_parts(0) = "BC" Then second_home = fs_row_parts(1) If fs_row_parts(0) = "BD" Then second_away = fs_row_parts(1) If fs_row_parts(0) = "AB" Then status_game = fs_row_parts(1) If fs_row_parts(0) = "AC" Then status_game_code = fs_row_parts(1) Next j Set fcell = ThisWorkbook.Sheets("listing").Columns("E:E").Find(match_id) rowindx = CStr(fcell.Row) If status_game = 3 And (status_game_code = 3 Or status_game_code = 10 Or status_game_code = 11) And first_home <> "" And second_home <> "" Then Sheets("listing").Range("BI" & rowindx).Value = Val(first_home) - Val(second_home) & " : " & Val(first_away) - Val(second_away) Sheets("listing").Range("BJ" & rowindx).Value = first_home & " : " & first_away
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.