Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 94
1

Считываем данные с сайта и записываем в переменные

20.09.2017, 10:02. Показов 1288. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день друзья.
помогите разбить данные с сайта по разным переменным:

Название: Без имени-1.jpg
Просмотров: 30

Размер: 14.8 Кб
Код:
HTML5
1
2
3
4
5
6
7
8
<tr class="result-row">
 <td class="event-description" colspan="3">
 
 
  <div class="cl-left red">
  0:1 (3:6, <span class="italic">5:6</span>)  <span class="result-description-part">(40:40)<img class="sport-icon-image" src="/cdn/3-0-553/images/serve-indicator.png" alt=""></span>  </div>
  </td>
 </tr>
Пример:
Javascript
1
document.getElementsByClassName('result-row')[0].getElementsByClassName('result-description-part')[0].textContent;


Данные нужны:
Общий счет самое первое значение, один var
Первый сет первое значение в скобках, второй var
Второй сет второе значение в скобках, третий var
Текущий счет в гейме последнее значение в скобках , четвертый var
И чья подача, в последних скобках выделяется картинкой, пятый вар, если шар слева значение 1 если справа значение 2
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.09.2017, 10:02
Ответы с готовыми решениями:

Считываем файл с хоста и записываем данные в edit1
Всем доброго вечера. Возник такой вопрос, мне нужно чтобы программа соединялась с...

Запись из формы данных в переменные php файла, данные из переменные используются в других файлах сайта
Всем привет! Ребят, подскажите пожалуйста! Есть один файл с обычной html формой, в которой обычные...

Записываем полученные данные с Html страницы
Подскажите пожалуйста как выводить вот эти 3 параметра: (продолжение темы) 1.123 2. 22.01.2016...

Tkinter. Как получить данные (поместить в какие-либо переменные) о том, какие данные находятся в виджетах
Как получить данные (поместить в какие-либо переменные) о том, какая цифра находится в текстовом...

10
6326 / 2564 / 740
Регистрация: 11.04.2015
Сообщений: 4,099
Записей в блоге: 43
20.09.2017, 12:16 2
Лучший ответ Сообщение было отмечено DoMeeNor как решение

Решение

DoMeeNor, проще всего взять полностью строку с результатами и разбить ее сплитом, в результате получится массив с нужными значениями.
Javascript
1
2
3
        var text = document.getElementsByClassName('result-row')[0].textContent;
        var a = text.split(/[^\d\:]+/);
        // alert(a.join("\n"));
1
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 94
20.09.2017, 12:53  [ТС] 3
ок, а как тогда подсчитать сколько значений получилось в массиве для того чтобы определить этап игры? ибо строка могут быть и 1:0 (15:30) тоесть игра недавно началась
0
6326 / 2564 / 740
Регистрация: 11.04.2015
Сообщений: 4,099
Записей в блоге: 43
20.09.2017, 13:16 4
Цитата Сообщение от DoMeeNor Посмотреть сообщение
как тогда подсчитать сколько значений получилось в массиве
Свойство length покажет количество элементов в массиве.

Добавлено через 3 минуты
В данном случае, по всей видимости, последний элемент массива будет пустым, поэтому его считать не надо, и то, что покажет length, видимо надо уменьшить на единицу. Либо изначально срезать у массива последний элемент.
1
the hardway first
Эксперт JS
2472 / 1844 / 909
Регистрация: 05.06.2015
Сообщений: 3,609
20.09.2017, 13:21 5
Цитата Сообщение от DoMeeNor Посмотреть сообщение
ибо строка могут быть и
Огласите весь список, пжалуста.

А то начнется щас угадайка, а если, а вдруг...
0
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 94
20.09.2017, 13:35  [ТС] 6
Ребят, в данном случаи текущей информации достаточно, большое спасибо. Но остался крайний вопрос:
HTML5
1
2
3
4
5
6
7
8
<tr class="result-row">
 <td class="event-description" colspan="3">
 
 
  <div class="cl-left red">
  0:1 (3:6, <span class="italic">5:6</span>)  <span class="result-description-part">(40:40)<img class="sport-icon-image" src="/cdn/3-0-553/images/serve-indicator.png" alt=""></span>  </div>
  </td>
 </tr>
Определить чья подача,
если картинка:
HTML5
1
<img class="sport-icon-image" src="/cdn/3-0-553/images/serve-indicator.png" alt="">
слева от счета (40:40) то переменной присваиваем значение 1 если справа то значение 2
0
6326 / 2564 / 740
Регистрация: 11.04.2015
Сообщений: 4,099
Записей в блоге: 43
20.09.2017, 13:50 7
Цитата Сообщение от DoMeeNor Посмотреть сообщение
Определить чья подача,
Если код не содержит лишних пробелов, то проще всего, видимо, так.
Javascript
1
2
        var nodes = document.querySelector(".result-row .result-description-part").childNodes;
        var result = nodes[0].nodeType == 1 ? 1 : 2;
Но если, скажем, текст стоит после картинки, но перед картинкой окажется какой-нибудь пробел или новая строка, то такая проверка не пройдет, поскольку тут проверяется тип первого узла, а нам придется проверять его значение.
1
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 94
20.09.2017, 14:02  [ТС] 8
Нет этот пример не подходит.
HTML5
1
2
 <span class="result-description-part">(<img class="sport-icon-image" src="/cdn/3-0-553/images/serve-indicator.png" alt="">15:15)</span>
 <span class="result-description-part">(40:40<img class="sport-icon-image" src="/cdn/3-0-553/images/serve-indicator.png" alt="">)</span>
в первом случаи подача слева во втором справа, странно но в некоторых случаях попадается то что круглая скобка то перед имгом то за ним. но везде в классе result-description-part
0
6326 / 2564 / 740
Регистрация: 11.04.2015
Сообщений: 4,099
Записей в блоге: 43
20.09.2017, 14:11 9
Цитата Сообщение от DoMeeNor Посмотреть сообщение
Нет этот пример не подходит.
Тогда таки проверять надо по значению
Javascript
1
2
        var nodes = document.querySelector(".result-row .result-description-part").childNodes;
        var result = nodes[0].nodeType == Node.TEXT_NODE && nodes[0].nodeValue.search(/\d+\:\d+/) > -1 ? 2 : 1;
1
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 94
20.09.2017, 14:28  [ТС] 10
С подачей все норм.
теперь выражение
Javascript
1
2
3
 var text = document.getElementsByClassName('result-row')[0].textContent;
        var a = text.split(/[^\d\:]+/);
        console.log(a);
оно выдает ["", "4:3", "40:40", ""]
в начале и вконце по паре лишних значений, нужно их срезать вместе с пробелами и запятыми.
0
6326 / 2564 / 740
Регистрация: 11.04.2015
Сообщений: 4,099
Записей в блоге: 43
20.09.2017, 14:53 11
Цитата Сообщение от DoMeeNor Посмотреть сообщение
в начале и вконце по паре лишних значений, нужно их срезать вместе с пробелами и запятыми.
Запятых, по идее там быть не должно, но, в принципе, можно пойти по более надежному пути и удалить все, что не соответствует паттерну счета, который уже использовался выше.
Javascript
1
        a = a.filter(function (s) { return s.search(/\d+\:\d+/) > -1; });
0
20.09.2017, 14:53
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.09.2017, 14:53
Помогаю со студенческими работами здесь

Считываем текст из файла
Ребят, вот такой вопрос Есть файл in.txt, надо считать из него текст и отредактировать Всё хорошо...

Считываем строку из консоли
Добрый день. Прошу помочь с проблемкой. Нужно считать строку, записать в переменную, после чего...

Парсить данные одного сайта со стороны клиента со страницы другого сайта
Есть 2 сайта. 1 - не мой 2 - мой. Мне нужно сделать следующее : Как только пользователь...

Строковый массив считываем из файла
Доброго времени суток, уже несколько часов гуглю, вроде всё норм в коде, но не работает, прошу...

Считываем определенный столбец из файла
Всем доброго времени суток! Возникла серьезная проблема (как минимум для новичка). Мне необходимо...

Как определить конец строки в считываем файле
Нужна помощь:какое средство или команда определяет,что в c#,в файле из которого мы считываем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Распознавание изображений (компьютерное зрение) на C++
InfoMaster 20.01.2025
Введение в компьютерное зрение и основы работы с изображениями Компьютерное зрение представляет собой одну из наиболее динамично развивающихся областей информационных технологий, позволяющую. . .
Какой язык программировани­я лучший для разработки нейронных сетей
InfoMaster 20.01.2025
В современном мире технологий искусственные нейронные сети становятся неотъемлемой частью множества инновационных решений, от распознавания речи до автоматического управления транспортными. . .
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
В чем разница между px, in, mm, pt, dip, dp, sp
InfoMaster 20.01.2025
В мире цифрового дизайна и разработки интерфейсов правильный выбор единиц измерения играет ключевую роль в создании качественного пользовательского опыта. История развития систем измерений для. . .
Как изменить адрес удалённого репозитория (origin) в Git
InfoMaster 20.01.2025
В терминологии Git термин origin является стандартным именем для основного удаленного репозитория, с которым взаимодействует локальная копия проекта. Когда разработчик клонирует репозиторий с. . .
Как переместить последние коммиты в новую ветку (branch) в Git
InfoMaster 20.01.2025
При работе над проектом часто возникают ситуации, когда необходимо изолировать определенные изменения от основной линии разработки. Это может быть связано с экспериментальными функциями, исправлением. . .
Как вернуть результат из асинхронной функции в JavaScript
InfoMaster 20.01.2025
Асинхронное программирование представляет собой фундаментальную концепцию в JavaScript, которая позволяет выполнять длительные операции без блокировки основного потока выполнения программы. В. . .
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетов началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые прототипы,. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru