получение переменной из секции script через DOM
Приветствую.
можно ли как то получить значение переменной находящейся в секции Script?
загружаю
после чего, если смотреть в ТекстHTML, в тексте есть PAGE_CONFIG.site={} в которой содержится json
можно ли как то получить данные из этой переменной? хотелось бы средствами ДОМ а не парсить
можно ли как то получить значение переменной находящейся в секции Script?
загружаю
Соединение=Новый HTTPСоединение(Сервер,,,,,,Новый ЗащищенноеСоединениеOpenSSL() );
Запрос=Новый HTTPЗапрос(Ури);
ответ=Соединение.Получить(Запрос);
ТекстHTML =Ответ.ПолучитьТелоКакСтроку();
ЧтениеHTML = Новый ЧтениеHTML;
ЧтениеHTML.УстановитьСтроку(ТекстHTML);
ПостроительДОМ = Новый ПостроительDOM;
ДокументDOM = ПостроительДОМ.Прочитать(ЧтениеHTML);
после чего, если смотреть в ТекстHTML, в тексте есть PAGE_CONFIG.site={} в которой содержится json
можно ли как то получить данные из этой переменной? хотелось бы средствами ДОМ а не парсить
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) при чем здесь "научишь", я же написал, что переменная там уже есть (она не вычисляется на клиенте), в отладчике когда смотришь по элементам DOM ее нахожу, но обратиться к ней на прямую не знаю как.
Парсингом понятно, но есть проблема, если они чуть изменят сайт в этом месте он уже может не отработать, а имя переменной скорее всего меняться не будет
Парсингом понятно, но есть проблема, если они чуть изменят сайт в этом месте он уже может не отработать, а имя переменной скорее всего меняться не будет
(5)
Про что тебе я тебе в начале и написал.
можно ли
Нельзя. Для DOM содержимое скрипта - обычный текст, в котором он максимум может через XPath вхождение найти. Ничего про то, что твоя последовательность символов является переменной, да еще и на каком-то js, он не знает. Поэтому тебе придется или писать парсер этого куска текста "если они чуть изменят сайт в этом месте он уже может не отработать" или прикручивать полноценный компилятор нужного языка, отдавать ему этот фрагмент и получать из него результаты выполнения в виде объектов.
Про что тебе я тебе в начале и написал.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот