Перестал работать парсер сайта

1. user1713496 13.01.24 16:57 Сейчас в теме
Добрый день. Парсил сайт, все было ок, но сегодня перестал работать. ПолучитьЭлементыПоИмени("tr").Количество() = 0. Хотя через код страницы эти элементы есть. А в ПолучитьТелоКакСтроку() они отсутствуют (вчера были). Подскажите, пожалуйста, что не так?
т_Курсы = Новый ТаблицаЗначений;                                                                  
	т_курсы.Колонки.Добавить("Биржа", Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(150)));
	т_Курсы.Колонки.Добавить("СпособОплаты", Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(150)));
	т_Курсы.Колонки.Добавить("Купить", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(12,2)));
	т_Курсы.Колонки.Добавить("Продать", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(12,2)));
	
	ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
	Соединение = Новый HTTPСоединение("p2p.army",,,,,, ЗащищенноеСоединение);  
	Для Каждого Биржа Из МассивБирж Цикл
		Текст = "/ru/p2p/prices/bybit?fiatUnit=RUB"; 
		Запрос = Новый HTTPЗапрос(Текст);
		Ответ = Соединение.Получить(Запрос); 
		Если Ответ.КодСостояния = 200 Тогда
			Построитель = Новый ПостроительDOM;  
			ЧтениеHTML = Новый ЧтениеHTML;
			ЧтениеHTML.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
			ДокументHTML = Построитель.Прочитать(ЧтениеHTML);
			ЧтениеHTML.Закрыть(); 
			
			СписокЭлементов = ДокументHTML.ПолучитьЭлементыПоИмени("tr");
			индМетод = Неопределено;
			индКупить = Неопределено;
			индПродать = Неопределено;  
			индЗаполнены = Ложь; 
			ПервыйЦикл = Истина;
			
			Для Каждого ЭлСписка Из СписокЭлементов Цикл 
				Если ПервыйЦикл Тогда
					Для i = 0 по ЭлСписка.ДочерниеУзлы.Количество() - 1 цикл
						Если индМетод = Неопределено 
							Или индКупить = Неопределено 
							Или индПродать = Неопределено Тогда
							Если Найти(НРег(ЭлСписка.ДочерниеУзлы[i].ТекстовоеСодержимое), "метод") Тогда
								индМетод = i;
							КонецЕсли;
							Если Найти(НРег(ЭлСписка.ДочерниеУзлы[i].ТекстовоеСодержимое), "buy") Тогда
								индКупить = i;
							КонецЕсли;
							Если Найти(НРег(ЭлСписка.ДочерниеУзлы[i].ТекстовоеСодержимое), "sell") Тогда
								индПродать = i;
							КонецЕсли;
						Иначе
							индЗаполнены = Истина;
							ПервыйЦикл = Ложь;
							Прервать;
						КонецЕсли; 
					КонецЦикла; 
				КонецЕсли;
				Если индЗаполнены Тогда
					индЗаполнены = Ложь;
					Продолжить;
				КонецЕсли;         
				Попытка
					нСтр = т_Курсы.Добавить(); 
					нСтр.Биржа = Биржа;
					нСтр.СпособОплаты = ЭлСписка.ДочерниеУзлы[индМетод].ТекстовоеСодержимое;
					нСтр.Купить = Число(СтрРазделить(ЭлСписка.ДочерниеУзлы[индКупить].ТекстовоеСодержимое, " ")[0]);
					нСтр.Продать = Число(СтрРазделить(ЭлСписка.ДочерниеУзлы[индПродать].ТекстовоеСодержимое, " ")[0]);
				Исключение
					
				КонецПопытки;
			КонецЦикла;
		КонецЕсли;
	КонецЦикла;
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user856012 13 13.01.24 17:09 Сейчас в теме
(1)
Парсил сайт, все было ок, но сегодня перестал работать.
Вариант, когда на сайте что-то поменялось рассматривается?
user1880116; +1 Ответить
3. user1713496 13.01.24 17:23 Сейчас в теме
(2)рассматриваю, только понять не могу, что поменялось. С виду все так же, как и вчера было (код страницы похож на вчерашний)
4. user1880116 13.01.24 18:29 Сейчас в теме
(3)
понять не могу, что
Выброси свою картинку. Там таблица скриптом вставляется - никто не любит халявщиков.
Прикрепленные файлы:
5. user1713496 13.01.24 19:47 Сейчас в теме
(4)
Там таблица скриптом вставляется - никто не любит халявщиков.
понял. То есть теперь эти данные никак не вытащить?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот