"InternetExplorer.Application" - как сохранить страницу с картинками #568304


#0 by Сниф
Подскажите, пожалуйста, как используя объект "InternetExplorer.Application" сохранить веб-страницу с картинками?
#1 by vudo
Ага, что бы потом голову ломать, как ее загрузить... :) Я пока так и не добился. :(
#2 by Сниф
тебе отказали в доступе) сейчас попробовал работает ЭлементыФормы.ПолеHTMLДокумента.Перейти("C:@@@2011_09_06index.htm");
#3 by Сниф
ИМХО Элементы.ПолеHTMLДокумента.Документ.URL только для чтения
#4 by vudo
Для управляемого интерфейса не подходит :( Для удаленных страниц работает! (mail.ru загрузился)
#5 by Сниф
апну
#6 by Сниф
У меня создалось впечатление, что сохранять веб-страницу с картинками может браузер, но не объект "InternetExplorer.Application". Получается, что для решения задачи нужно искать в html все теги <img> и скачивать картинки по одной. Я правильно понимаю, что это единственный путь?
#7 by vudo
Похоже что так:
#8 by Сниф
up-ну
#9 by FN
посмотри еще InternetExplorer.Application.ExecWB + OLECMDID_SAVE но оно по-моему интерактивыне запросы выдает
#10 by Сниф
гуглил InternetExplorer.Application.ExecWB + OLECMDID_SAVE, но ничего похожего не нашел.
#11 by vudo
Уже бы парсер написал. Там делов-то на 30 минут, используя Общие объекты - HTML...
#12 by Сниф
а уже есть такой парсер. Автор Андрей Данилюк, скачать конфигурацию можно на его блоге  . Если немного "допилить" конфигурацию, а именно сделать проверку корректности путей к картинкам (окончание .gif, .jpg и т.п.), то все работает. Но очень медленно. Internet Explorer сохраняет mail.ru за 3 секунды, конфигурация 1С за 3 минуты.
#13 by vudo
Там сделано через текст, по этому и медленно. А я предлагаю через 1совский объект "HTML"! Должно намного быстрее работать...
#14 by vudo
+ еще через ОбработчикОжидания можно реализовать многопоточность загрузки связанных ссылок (картинок). Еще быстрее грузиться будет...
#15 by Сниф
специально прошелся отладчиком конструкция выполняется 3 секунды (скачивание одной картинки) Итого 3 секунды Х 60 картинок = 180 секунд. Процессор загружен на 50%. Путей оптимизации не вижу.
#16 by vudo
А если в Обработчике ожидания попробовать, который вызывать 1 раз через 0.1 сек и запускать новый HTTPСервис.Получить(ПутьНаСайте, ИмяВременногоФайла)?
#18 by Сниф
спасибо, отличная ссылка
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С