gifts2017

Еще раз о чтении динамических WEB-страниц

Опубликовал Александр (mai) в раздел Программирование - Практика программирования

    В предлагаемой вашему вниманию обработке реализованы 7 вариантов чтения содержимого динамических WEB - страниц (для 1С-Предприятия 7.7) средствами внешних компонент Parser.dll, ADDIN.dll и FormEx.dll, а в сопутствующей ей статье описаны результаты их применения.

Это продолжение статьи Мои опыты чтения динамических WEB-страниц.

К сожалению, с помощью описанных в ней средств мне не удалось добиться решения поставленной задачи - надежного чтения любых динамических WEB-страниц, и я продолжил поиск ее решения с использованием средств чтения данных из интернета, имеющихся в известных мне внешних компонентах (ВК).

Таких ВК у меня нашлось 3:

  • Parser.dll,
  • Addin.dll
  • и V7Plus.dll.

Для проведения опытов сделал небольшую обработку ТестВК.ert (см. скриншот). Предлагаю вам скачать ее и повторить мои опыты. Возможно, вы знаете другие dll и варианты, найдете ошибки в кодах или в выводах и положениях статьи. Сообщите мне о них, я буду очень благодарен.

Чтобы ТестВК.ert без проблем заработала, положите ее и все dll из архива  (в том числе и unrar.dll, без нее ADDIN.dll не работает) в папку какой-нибудь конфигурации, откройте эту конфигурацию и запустите ТестВК.ert. Als-файлы можете не копировать, на ваше усмотрение. (Обратите внимание на функцию Таймер. Благодаря коллеге YtrewQwerty она значительно усовершенствована и теперь измеряет временные интервалы с точностью до миллисекунды).

Обработка позволяет выбрать 7 вариантов тестирования методов ВК:

  • 1 метод Parser.dll,
  • 1 метод Addin.dll,
  • 3 метода V7Plus.dll (её метод Получить имеет 3 модификации в зависимости от типа приемника)
  • и 2 дополнительных метода V7Plus.dll.

В каждом из вариантов можно прочитать до 4 страниц сайтов (1 статическая и 3 динамических), выбрав их адреса из списка.

  1. http://www.smeta-tl.narod.ru/about.html  //Статическая страница моего старого сайта
  2. http://www.vezetmne.ru/auctions/80968658
  3. http://www.vezetmne.ru/rating?top100    
  4. http://www.almazsoft.ru/index.php?option=com_remository&Itemid=34&func=select&id=5

Результат чтения помещается в папку конфигурации в файл с именем вида resBN.htm, где B - вариант, а N - номер адреса в списке.

  • Статическая страница быстро и качественно читается всеми ВК во всех вариантах: страница не урезается, кириллица не искажается. Только в варианте 2. Nidan.ПолучитьПоНТТР(ФайлРезультата, Адрес) время чтения почему-то раз в 10 больше, чем в прочих шести.
  • Динамические страницы 2 и 4  читаются качественно только ВК Parser.dll и ADDIN.dll в вариантах 1 и 2. ВК V7Plus.dll в вариантах 3 - 7 при чтении урезает страницы до размера от 330 до 970 байт, кириллица не искажается.
  • Динамическая страница 3. http://www.vezetmne.ru/rating?top100 не читается качественно ни одной из ВК ни в одном из вариантов: читается быстро, но страница урезается до 330 байт.

Получается, что ВК V7Plus.dll совсем не пригодна для чтения динамических страниц сайтов,  а ВК Parser.dll и ADDIN.dll могут читать не все динамические страницы.

Таким образом, надежного чтения любых динамических WEB-страниц из 1С мне не удалось добиться и с помощью ВК.

Но ведь как-то же они браузерами читаются?

Я прикладной программист, занимаюсь разработкой приложений с использованием встроенных инструментов 1С, и все эти опыты делаю только потому, что есть задача, а инструментов для ее решения в 1С нет. В системных вопросах разбираюсь слабо. Поэтому обращаюсь с просьбой к разбирающимся: помогите, пожалуйста, в решении этой задачи.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ТестВК
.zip 868,72Kb
01.02.10
81
.zip 868,72Kb 81 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Вячеслав Кадацкий (marsohod) 01.02.10 15:34
Э-э-э и где же предмет обсуждения?
2. Александр (mai) 01.02.10 16:11
(1) Пропал куда-то :D Загрузил
3. Алексей Ситников (SiAl) 01.02.10 17:01
(0) Почитай про wget. Если не ошибаюсь, он может html-страницу "тянуть" целиком. Запускает с ключами из командной строки.
4. Александр (mai) 01.02.10 17:03
5. Алексей Ситников (SiAl) 01.02.10 17:12
6. Александр (mai) 01.02.10 19:18
7. Александр (mai) 01.02.10 19:47
(5) Попробовал простейшее
wget.exe http://www.vezetmne.ru/rating?top100
Прочиталось, но страница урезана до 330 байт.
8. Александр (mai) 01.02.10 19:53
(5) Статическую страницу и 2 других динамических wget прочитал.
Т.е он ведет себя так же, как и ВК Parser.dll и ADDIN.dll.
9. Алексей Ситников (SiAl) 01.02.10 20:03
(7) С ключами поиграйся. Я тоже не спец по этой утилите.
10. Алексей Ситников (SiAl) 01.02.10 20:05
(8) Если не взлетит, то читай документации по объектной модель Internet Explorer-а. скорее всего возможно загрузить и сохранить страницу используя методы этого браузера.
11. Гость 31.07.13 13:43
Я понимаю конечно, что уже больше чем 3 года прошло, но интересует вопрос поборол ты эти ограничения в кол-ве принимаемых байт или нет в V7plus.dll?
Дело в том, что до недавнего времени я не знал об этих ограничениях и пользовался без проблем v7plus пока не переустановил Винду, после этого появились проблемы аналогичные твоим. Вот прошло всего 4 дня и все заработало как прежде, никаких ограничений, страница снова целиком принимается как раньше. Есть подозрение на антивирус, я удалил бесплатный микрософтовский и установил касперского, остальное вроде ничего не менял, может какие то обновление виндовс накатил которые повлияли я не знаю.
12. Александр (mai) 31.07.13 20:40
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа