Парсер сайта exist.ru



Парсер сайта exist.ru — по артикулу запчасти находит аналоги.

Внимание! В связи с частым обновлением сайта exist.ru обработка потеряла свою актуальность и может быть использована лишь как демонстрация работы с сайтами из 1С или как шаблон для собственного проекта.


Обработка предназначена для облегчения процесса поиска аналогов запчастей на сайте www.exist.ru.


Навеяно этими публикациями:

//infostart.ru/public/147753/

//infostart.ru/public/88106/

Пишу что-то подобное впервые в жизни, буду только рад конструктивной критике.

 

Предоставляемые обработкой преимущества:

1) Все преимущества работы с табличными частями в 1С 8.х могут быть использованы с таблицей запчастей-аналогов (фильтры, сортировка, произвольное изменение состава строк — удаление, перемещение, и прочие действия).

2) Настраиваемый фильтр брендов позволяет ограничить поиск аналогов конкретным списком брендов.

3) Настраиваемая пост-обработка артикулов найденных брендов. Полезно для приведения артикулов к виду, используемому внутри фирмы (добавление приставки, удаление точек и запятых, удаление пробелов).

 

Порядок работы:

1) При открытии обработки на вкладке «Web» автоматически загружается сайт www.exist.ru. При первом запуске обработки необходимо авторизоваться на сайте, используя свои логин и пароль, иначе сайт в результатах поиска будет скрывать артикулы за символами «*» — это обычное поведение сайта.

2) На вкладке «Поиск» в поле «Артикул» ввести артикул детали, аналоги которой надо найти, после чего нажать кнопку «Поиск». Через некоторое время табличная часть, расположенная ниже, заполнится найденными аналогами. Состав строк будет зависеть от настроек, сделанных на вкладке «Настройки».

3) Результаты поиска можно вывести на печать, используя встроенную в 1С 8.х функциональность — команда «Вывести список» для табличного поля. Также результаты можно выделить (целиком или выборочно) и скопировать в буфер обмена.

4) Вкладка «Настройки» позволяет указать список брендов, которые интересуют, а также указать варианты пост-обработки артикулов найденных аналогов.

 

Порядок использования и распространения обработки:

Обработку можно распространять, изменять, использовать в личных и коммерческих целях. Единственное требование — обязательное указание автора исходной версии: «//(С) 2012-08-26, Мирончик Павел Николаевич, +7(775)435-22-22, mironchikpavel@gmail.com»

56 Comments

  1. ZOMI

    Больше парсеров , разных и нужных !Плюсую !

    Reply
  2. brunen9

    Файл выложен заново. Я исправил досадную логическую ошибку — нельзя было работать с пустым списком брендов в настройках фильтрации.

    Reply
  3. antares_of

    Круто, попробуем. Так так же можно для многих полезных сайтов сделать. Целую конфу разработать со списком обработок по сайтам и другими прикалюхами!)

    Reply
  4. Gawws

    Хорошая задумка. А цену, наличие и срок поставки на форму можно поместить? Чтобы видеть, где выгоднее заказать: у дилера или в exist.

    Reply
  5. brunen9

    (4) Gawws, работаю над этим

    Reply
  6. Gawws

    Срок поставки и наличие — это как раз очень важно. Чтобы проанализировать брать со склада в Москве втечении 10-12 дней или быстрее ч/з exist. Там еще картинки к каждой з/ч есть. Если еще и их прикрутить, то вообще песня получится.

    Reply
  7. nsm

    Добрый день.

    Ни кто не сталкивался с таким, что при выводе ТЗ выскакивает ошибка

    {Форма.Форма.Форма(36)}: Ошибка при получении значения атрибута контекста (children)

    Для Каждого СтрокаТаблицы Из ТелоТаблицы.children Цикл

    по причине:

    Произошла исключительная ситуация (0x800a01b6)

    При этом подобная проблема только на определенном компе, на другом, тоже с 64 битной семеркой работает всё на ура.

    P.S. Я немного изменил обработку, теперь она ищет наличие аналогов в моей базе и подставляет остатки и саму номенклатуру, в соответствующие столбцы.

    Reply
  8. brunen9

    Отличаются ли версии IE на указанных компьютерах? Если укажете артикул и действия, приводящие к ошибке, то попробую воспроизвести у себя.

    Reply
  9. nsm

    (8) brunen9, Вот в том то и дело, что IE 8 одинаковые вплоть до релиза, а артикул любой, и воспроизвести на работающей системе я эту ситуацию не могу.

    Только железо разное, 3 компа- два идентичны во всем, на них не работает, 3-й имеет аналогичный софт, но другое железо — работает.

    Пойду попробую IE переставить. Отпишусь о результатах.

    Reply
  10. nsm

    (8) brunen9, Вы оказались правы, всё оказалось банально и просто, человеческий фактор страшная вещь, народ обновил себе IE, а под 9-ой парсер не работает.

    Reply
  11. brunen9

    (10) nsm, а версия 1С какая? Только в 8.2.14 добавили поддержку IE9.

    Reply
  12. nsm

    (11) brunen9, 8.2.15.294

    Reply
  13. brunen9

    (10) nsm, Всё-таки дело именно в IE9, а точнее в реализации WebBrowserControl, который используется элементом типа ПолеHTMLДокумента. Решения пока нет, такие же проблемы во всех языках программирования, Microsoft молчит 🙂

    Reply
  14. nsm

    Кстати у меня у одного перестал отображаться результат запроса или это какие то изменения на exist.ru? (просто ещё сам не смотрел в чем проблема, нет ТЗ и всё тут)

    Reply
  15. brunen9

    (14) nsm, Изменения на exist.ru — поменяли id таблиц. Вечером выложу обновление.

    Reply
  16. brunen9

    Обновление в связи с изменениями на exist.ru

    Reply
  17. nsm

    И не большое предложение. Результат выводиться не только по аналогам, но и по заменам, их конечно очень не много, но они есть, а в ТЗ они не попадают.

    Reply
  18. brunen9

    (17) nsm, Готово, обновляйтесь.

    Reply
  19. nsm

    (18) brunen9, Спасибо. Сейчас посмотрю ту часть, что парсит сайт.

    Reply
  20. brunen9

    Обновление в связи с изменениями на exist.ru, №2

    Reply
  21. prefect

    Так дл какой версии 1с?

    Reply
  22. brunen9

    (21) prefect, в описании указано:

    Платформа: 1C: Предприятие 8.2

    Вы посты набиваете?

    Reply
  23. prefect

    УПС НЕ увидел!!!!(22) brunen9,

    Reply
  24. Makushimo

    А как вы определили с какой страницы сайта что грузить?

    Reply
  25. brunen9

    (24) Makushimo, Исследовал структуру сайта и код страниц, это довольно просто.

    Reply
  26. Makushimo

    (25) brunen9,

    Как? если просто, объясните.

    Reply
  27. Зеленоград

    Банят быстро?

    Reply
  28. brunen9

    (26) Makushimo, Задайте конкретный вопрос, пока затрудняюсь ответить.

    Reply
  29. brunen9

    (27) Зеленоград, Если соблюдать правила пользования сайтом — не банят. Если нет — то сразу.

    Reply
  30. Makushimo

    (29) brunen9,

    Например, стоит задача: спарсить некий каталог с сайта, который хранится на разных страницах

    неизвестно ни на каких страницах все расположено ни сколько этих страниц. Есть только адрес сайта.

    Нужно определиться со структурой сайта. Как это сделать? «Сграбить» его к себе и чем-нибудь расковыривать кишки? или есть какой-нить способ просмотра структуры на лету? может даже в отладчике из 1С?

    Reply
  31. brunen9

    (30) Makushimo, Для начала должен сказать, что не могу себе представить сайт-каталог без четкой логической структуры. Это же каталог, у него должны быть уровни и некая структура данных, иначе это каша. Так что структуру получить как раз таки легко — достаточно изучить сайт обычным серфингом через браузер. Опять же, не бывает сайтов без навигации, а это значит что есть ссылки или другая возможность перехода на интересующие страницы. Дальше остаётся только изучить, как осуществляется переход на них и разобрать код страниц с целью получить содержащиеся в них данные. Советую изучить код обработки.

    Reply
  32. AlexAuto

    Не фунциклирует (((

    Reply
  33. AlexAuto

    Табличная часть поиска не заполняется(поле поиска с запрашиваемым номером затемнено), на вкладке web артикул найден

    Reply
  34. brunen9

    (32) AlexAuto, это закономерно — обработке уже второй год пошел, екзист вполне мог поменять код страниц

    Reply
  35. AlexAuto

    Печально ((( просто я увидел, что комменты достаточно свежие и решил глянуть, а тут вон чё … код как то можно поменять в обработке?

    Reply
  36. brunen9

    (35) AlexAuto, код полностью открыт — можете поправить, чтобы работало. А если вы финансово серьезно настроены — то знаете как со мной связаться.

    Reply
  37. AlexAuto

    Если Лев(ЭлементТаблица.innerText, 12) = «ФирмаАртикул» Тогда — уперся в эту строчку ни фига не получается ((( или экзист закрыл от парсинга

    Reply
  38. fixin

    (13) вот и у меня те же грабли, блин…

    хоть ты на 8.2 переходи.

    на IE до 8-го работает, а после — нет.

    Reply
  39. brunen9

    На самом деле механизм в парсере используется примитивный, в новых проектах я давно отказался от использования ПолеHTMLДокумента.

    Reply
  40. centurion74

    (37) AlexAuto, экзист перешел на AJAX, поэтому и не работает. А полеXTMLдокумента страшно глючная хрень, как и IE, я тоже перешел на awesomium

    Reply
  41. nsm

    (40)А есть ли вариант всё равно его парсить? Как это можно осуществить?

    Reply
  42. brunen9

    (41) nsm, варианты есть всегда, выше уже предложили один

    Reply
  43. nsm

    (42) Я конечно извиняюсь, но ещё раз перечитав все комментарии так и не увидел варианта, если не затруднит ткните пальцем в каком сообщении есть вариант)

    Reply
  44. brunen9

    (43) nsm, так вот же:

    А полеXTMLдокумента страшно глючная хрень, как и IE, я тоже перешел на awesomium
    Reply
  45. milita

    (44) brunen9, Добрый день! Если можно Скиньте на мыло andrei_prorok@mail.ru вашу разработку. Заранее спасибо!

    Reply
  46. milita

    (44) brunen9, И можно Ваши контакты, хотел бы обсудить заказ.?

    Reply
  47. hazd

    автору спасибо, нужная вещь, я думаю с помощью неё можно парсить и другие сайты)

    Reply
  48. quick

    у меня такой парсер есть на Python, работает как напрямую с их веб сервисом так просто парсит через html

    Reply
  49. nsm

    (48) quick, brunen9, свяжитесь, пожалуйста, со мной по поводу возмездного сотрудничества 9629095 собака gmail точка com . как можно скорее))

    Reply
  50. paradox91

    вышлите пожалуйста контакты для связи на nit.avto гмаил ком

    Reply
  51. uvsd2014

    (1) согласен . информация должна распространяться,

    перетекать от одних центров данных к другим.. 🙂

    и еще — информация не должна искажаться, так как искажение информации

    вызывает социальные и природные катаклизмы.

    Reply
  52. AlexAuto

    Так будет продолжение??? Или умерла так умерла….

    Reply
  53. brunen9

    Обещать ничего не могу, но если и будет продолжение, то не в виде бесплатного продукта.

    Reply
  54. AlexAuto

    А кто то говорил про бесплатно??? Дайте две )))

    Reply
  55. brunen9

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

    Reply
  56. Ivan4

    Так не работает же.

    Останавливается на

    Артикул «G012A8GM1» найден в каталогах (2): и надо выбрать каталог.

    Не работает -верни $m. (скачай мою)

    Reply

Leave a Comment

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