Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Парсер таблицы из страницы сайта в 1с 7.7.

v7: Парсер таблицы из страницы сайта в 1с 7.7.
Я
   From_RB
 
16.12.18 - 11:55
Подскажите плиз

Есть сайт.Сторонний.
Необходимо делать запрос вида: https://сайт/СекретныйКод

В ответ приходит страница.
Необходимо парсить конкретную таблицу со страницы в 1ску

Каков оптимальный путь решения?
 
 
   trdm
 
1 - 16.12.18 - 11:56
(0) wget + htmlfile
   trdm
 
2 - 16.12.18 - 11:57
IE.navigate + dom
   trdm
 
3 - 16.12.18 - 11:58
на вкус и цвет.
   From_RB
 
4 - 16.12.18 - 12:52
через DOM разбираю
   From_RB
 
5 - 16.12.18 - 15:53
Сохраняю скачанную страницу как XML
При попытке разбора XML 

"Имя начинается с ошибочного знака. Ошибка при обработке ресурса"

Как поправить? или привести к правильному виду?
   kolyuchka
 
6 - 16.12.18 - 16:18
Приветствую. Как тут приложить фото к тексту? Хотелось бы заполнить тему ещё и актуальными фотографиями.
   From_RB
 
7 - 16.12.18 - 17:41
Прилагаю полученный файл
Сохраненный запрос с сайта:

https://yadi.sk/d/__KNJMKL86MLxw

Как поправить его для нормального чтения
через
CreateObject("MSXML2.DOMDocument.6.0");
и
selectNodes
   From_RB
 
8 - 16.12.18 - 17:54
Ошибка синтаксического анализа XML: некорректно
Адрес: https://codebeautify.org/xmlvalidator
Строка 68, символ 37:
                if ((code >= 1040) && (code <= 1103)) return false;

Вот результат%.
   From_RB
 
9 - 16.12.18 - 17:57
Возможно надо какой аналог НайтиНедопустимыеСимволыXML в 7.7?
   trad
 
10 - 16.12.18 - 20:52
html нужно причесать к xhtml
Для этого можно например применить tidy
http://tidy.sourceforge.net/
 
 Рекламное место пустует
   trad
 
11 - 16.12.18 - 20:56
+ кроме консольной утили, существует ком-обертка
http://ablavier.pagesperso-orange.fr/TidyCOM/
   From_RB
 
12 - 17.12.18 - 08:34
Все таки хочется спросить уважаемого All.

Возможно у кого то есть функция замены недопустимых символов под 1с 7.7
   MadDAD
 
13 - 17.12.18 - 08:43
(12) СтрЧислоВхождений() ?
   From_RB
 
14 - 17.12.18 - 08:46
Нет) Мне надо именно перечень всех "неправильных" символов для отсечки)
   tgu82
 
15 - 17.12.18 - 08:55
(14) Была такая проблема. Искал вручную правда сначала при загрузке увидел номер объекта последнего нормально загружаемого. Оказалось что менеджер вбивал адрес и нажал контрл с чем-то (уже не помню с чем)
   trad
 
16 - 17.12.18 - 09:06
(12) простой замены символов недостаточно для превращения html в xml
в грязном html могут быть, например незакрытые теги
   From_RB
 
17 - 17.12.18 - 09:11
Мне надо вытянуть со страницы таблицу.

Вариант регэкспов был бы локальным решением вопроса,
но паттерн не соображу(.

Поэтому, насколько я понимаю надо 'причесать' html
к правильному XML. А дальше уже дело техники...
   From_RB
 
18 - 17.12.18 - 09:20
То есть стоит задача:

Как преобразовать файл htm в xml средствами 1с 7.7
   trad
 
19 - 17.12.18 - 09:33
tidy чем не подходит?
   trad
 
20 - 17.12.18 - 09:38
еще, как вариант, если речь идет только о заранее известной таблице:
Попытаться определить некоторые уникальные символьные последовательности перед/в начале таблицы и после/в конце таблицы
Опираясь на них выпилить из всего текста только саму таблицу
Уже ее или разобрать алгоритмически или скормить xml-парсеру если ее структура нормальная
   Сияющий в темноте
 
21 - 17.12.18 - 13:28
Вообще то,в системе есть встроенный обьект ServerXmlHttpRequest,который из семерки прекрасно работает,но я бы через прокладку на VbScript иMsScriptControl делал бы,т.к не будет преобразования из двухбайтовых в однобайтовые символы при передаче тела ответа.
   From_RB
 
22 - 17.12.18 - 17:16
(21) Если чз ServerXmlHttpRequest - тоже файл получается некорректный как XML при загрузке.

А вот "но я бы через прокладку на VbScript иMsScriptControl"
Это как?

p.s Пока остановился на варианте конвертации с помощью TidyCOM.
   Сияющий в темноте
 
23 - 17.12.18 - 22:11
сценарий на vbscript
   From_RB
 
24 - 18.12.18 - 07:58
(23) Сделал с помощью Tidy.

А вот пример сценария на VBscript, который превращает html  в "правильный" XML было бы любопытно взглянуть.

Если таковой есть -просьба выложить. Спасибо.
   Сияющий в темноте
 
25 - 19.12.18 - 10:32
o=СоздатьОбъект(MSScriptControl.ScriptControl)
o.Language=VbScript ну или JavaScript по желанию
o.AddCode(кодСценария)
o.Run(ИмяФункцииИзСценария,Параметры)
для передачи параметров удобно использовать Scripting.Dictionary

далее,на просторах интернета ищем рабочий сценарий и вставляем.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует