Парсинг (сканирование) сайта из 1С на примере сайта по криптовалюте


Актуальная обработка с конфигурацией по парсингу на примере сайта http://coinmarketcap.com/
Сканирует всю историю курсов криптовалют.

Саму же доработку можно переделать под парсинг любого несложного сайта.

Особенности

  1. Используется компонента, которая нормализуют html код, благодаря чему он становится валидным для парсинга.
  2. Другая компонента позволяет считывать код html по тегам, что упрощает работу со страницей.
  3. Понадобится зарегистрировать эти компоненты.
  4. Лучше запускать 1С под правами администратора, иначе может не взлететь.
  5. Для работы потребуется установленный Net Framework 4 и Elisy .Net Bridge
  6. Если парсер не запускается при выполнении вышеизложенных условий — значит нужно руками зарегистрировать компоненту  //infostart.ru/public/165910/

Тестировалось на платформе: 8.3.9.1850.

19 Comments

  1. swimdog

    Компонента не BadRabbit называется? ))

    Reply
  2. ollega

    HtmlAgilityPack_dll и ElisyNetBridge

    Reply
  3. mikl79

    Добрый день.

    установил компоненту, но все равно пишет Установите компоненту и т.д.

    по отладчику отловил, не выполняется функция ПодключитьВнешнююКомпоненту(«Elisy.NetBridge4»)

    подскажите в чем проблема?

    Reply
  4. ollega

    (3) 1С должна быть запущена от имени Администратора, если это не помогает — значит нужно руками зарегистрировать компоненту, описано тут: https://infostart.ru/public/165910/

    Reply
  5. mikl79

    (4), у меня сервер 1с 32-разрядный

    Reply
  6. mikl79

    действительно, когда 1с запустил от имени Администратора загрузка пошла, в чем прикол?

    Reply
  7. ollega

    (6) значит прав не хватает 1Ске на работу с компонентой.

    Reply
  8. mikl79

    только валюта создалась не корректная, в наим-ии, например, LTC¶ Litecoin,

    а Сокр. наим-е пустое

    Reply
  9. ollega

    (8) Значит что-то в сайте изменилось за это время, у меня нормально сканировалось. Поправлю — залью снова. (попозже)

    Reply
  10. mikl79

    и до сих пор грузит, до каких времен он будет грузить?

    Reply
  11. ollega

    (10) 1000 с лишним валют — грузит долго первый раз. Может час.

    Прервать загрузку всегда можно нажатием CTR+Break

    Reply
  12. mikl79

    спасибо, для себя приятно узнал, что в УФ реализовали ОбработкаПрерыванияПользователя и Состояние, наконец-то

    Reply
  13. rpgshnik

    Эта компонента ПодключитьВнешнююКомпоненту(«Elisy.NetBridge4») если демо, сколько раз она работает?

    Reply
  14. ollega

    (13) У клиента стоит уже около года и не жалуется…

    Reply
  15. rpgshnik

    (14) хм… а я сначала обрадывался всё круто отработало. А потом отвалилось напрочь. Подумал может количеством запусков как-то ограниченно. Там постоянно выскакивает окно — что версия ограниченная.

    Глюк смог поправить путем перезапуска скриптов в корне «софтины» unreg.vbs и reg.vbs

    Reply
  16. ollega

    (15) Хм, может кому полезна будет эта информация, у самого проблем не возникало подобных.

    Reply
  17. rpgshnik

    (16) Добрый день. Если не сложно помогите разобраться в методах.

    Запилил такой код при разборе страницы:

     НодыСтраницы = HAP.DocumentNode.SelectNodes(«.//div»);
    Результат = «»;
    Для i = 0 По НодыСтраницы.Count — 1 Цикл
    Результат = Результат + «Нод » + i + » [» + ЧтоТутНаписать + «] InnerText ========================»
    + НодыСтраницы.get_Item(i).InnerText + Символы.ПС + «========================»;
    КонецЦикла;

    Хочу получить сам нод, как он представлен в хтмл… т.е. к примеру <div class=»detail-list»>

    Я попробовал НодыСтраницы.get_Item(i) , он мне вернул [COMОбъект] :)))

    Reply
  18. rpgshnik

    (17) вопрос не актуален разобрался.

    Не разобрался только как получить ноды скрипта…

    Reply
  19. ollega

    (18) С этим всем уже самостоятельно. Занят постоянно)

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *