Парсинг (сканирование) сайта из 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 не будет опубликован. Обязательные поля помечены *