gifts2017

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

Опубликовал Павел Мирончик (brunen9) в раздел Обмен - Интеграция с WEB

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

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


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


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

http://infostart.ru/public/147753/

http://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"

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

Наименование Файл Версия Размер Кол. Скачив.
ПарсингСайтаExistRu
.epf 25,63Kb
15.11.12
222
.epf 25,63Kb 222 Скачать

См. также

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

Комментарии

1. Михаил Зотов (ZOMI) 29.08.12 01:19
Больше парсеров , разных и нужных !Плюсую !
antares_of; +1 Ответить 1
2. Павел Мирончик (brunen9) 30.08.12 21:14
Файл выложен заново. Я исправил досадную логическую ошибку - нельзя было работать с пустым списком брендов в настройках фильтрации.
3. Владимир Б (antares_of) 04.09.12 14:05
Круто, попробуем. Так так же можно для многих полезных сайтов сделать. Целую конфу разработать со списком обработок по сайтам и другими прикалюхами!)
4. Valery Gagarkin (Gawws) 04.09.12 22:19
Хорошая задумка. А цену, наличие и срок поставки на форму можно поместить? Чтобы видеть, где выгоднее заказать: у дилера или в exist.
5. Павел Мирончик (brunen9) 04.09.12 22:33
6. Valery Gagarkin (Gawws) 04.09.12 22:47
Срок поставки и наличие - это как раз очень важно. Чтобы проанализировать брать со склада в Москве втечении 10-12 дней или быстрее ч/з exist. Там еще картинки к каждой з/ч есть. Если еще и их прикрутить, то вообще песня получится.
7. nsm (nsm) 24.09.12 14:14
Добрый день.
Ни кто не сталкивался с таким, что при выводе ТЗ выскакивает ошибка

{Форма.Форма.Форма(36)}: Ошибка при получении значения атрибута контекста (children)
Для Каждого СтрокаТаблицы Из ТелоТаблицы.children Цикл
по причине:
Произошла исключительная ситуация (0x800a01b6)

При этом подобная проблема только на определенном компе, на другом, тоже с 64 битной семеркой работает всё на ура.
P.S. Я немного изменил обработку, теперь она ищет наличие аналогов в моей базе и подставляет остатки и саму номенклатуру, в соответствующие столбцы.
8. Павел Мирончик (brunen9) 24.09.12 14:26
Отличаются ли версии IE на указанных компьютерах? Если укажете артикул и действия, приводящие к ошибке, то попробую воспроизвести у себя.
9. nsm (nsm) 24.09.12 14:55
(8) brunen9, Вот в том то и дело, что IE 8 одинаковые вплоть до релиза, а артикул любой, и воспроизвести на работающей системе я эту ситуацию не могу.
Только железо разное, 3 компа- два идентичны во всем, на них не работает, 3-й имеет аналогичный софт, но другое железо - работает.
Пойду попробую IE переставить. Отпишусь о результатах.
10. nsm (nsm) 24.09.12 18:32
(8) brunen9, Вы оказались правы, всё оказалось банально и просто, человеческий фактор страшная вещь, народ обновил себе IE, а под 9-ой парсер не работает.
11. Павел Мирончик (brunen9) 24.09.12 19:33
(10) nsm, а версия 1С какая? Только в 8.2.14 добавили поддержку IE9.
12. nsm (nsm) 25.09.12 08:14
13. Павел Мирончик (brunen9) 25.09.12 12:35
(10) nsm, Всё-таки дело именно в IE9, а точнее в реализации WebBrowserControl, который используется элементом типа ПолеHTMLДокумента. Решения пока нет, такие же проблемы во всех языках программирования, Microsoft молчит :)
14. nsm (nsm) 03.10.12 14:26
Кстати у меня у одного перестал отображаться результат запроса или это какие то изменения на exist.ru? (просто ещё сам не смотрел в чем проблема, нет ТЗ и всё тут)
15. Павел Мирончик (brunen9) 03.10.12 15:09
(14) nsm, Изменения на exist.ru - поменяли id таблиц. Вечером выложу обновление.
16. Павел Мирончик (brunen9) 03.10.12 19:56
Обновление в связи с изменениями на exist.ru
17. nsm (nsm) 04.10.12 09:04
И не большое предложение. Результат выводиться не только по аналогам, но и по заменам, их конечно очень не много, но они есть, а в ТЗ они не попадают.
18. Павел Мирончик (brunen9) 04.10.12 11:54
(17) nsm, Готово, обновляйтесь.
19. nsm (nsm) 08.10.12 09:10
(18) brunen9, Спасибо. Сейчас посмотрю ту часть, что парсит сайт.
20. Павел Мирончик (brunen9) 15.11.12 16:26
Обновление в связи с изменениями на exist.ru, №2
21. Владимир Анциферов (prefect) 11.12.12 14:26
22. Павел Мирончик (brunen9) 11.12.12 17:49
(21) prefect, в описании указано:
Платформа: 1C: Предприятие 8.2
Вы посты набиваете?
23. Владимир Анциферов (prefect) 11.12.12 19:05
24. Максим Кузнецов (Makushimo) 10.01.14 08:04
А как вы определили с какой страницы сайта что грузить?
25. Павел Мирончик (brunen9) 10.01.14 08:27
(24) Makushimo, Исследовал структуру сайта и код страниц, это довольно просто.
26. Максим Кузнецов (Makushimo) 10.01.14 10:10
(25) brunen9,
Как? если просто, объясните.
27. Сергей Пшеничников (Зеленоград) 10.01.14 11:21
28. Павел Мирончик (brunen9) 10.01.14 19:07
(27) Зеленоград, Если соблюдать правила пользования сайтом - не банят. Если нет - то сразу.
29. Павел Мирончик (brunen9) 10.01.14 19:07
(26) Makushimo, Задайте конкретный вопрос, пока затрудняюсь ответить.
30. Максим Кузнецов (Makushimo) 10.01.14 19:43
(29) brunen9,
Например, стоит задача: спарсить некий каталог с сайта, который хранится на разных страницах
неизвестно ни на каких страницах все расположено ни сколько этих страниц. Есть только адрес сайта.
Нужно определиться со структурой сайта. Как это сделать? "Сграбить" его к себе и чем-нибудь расковыривать кишки? или есть какой-нить способ просмотра структуры на лету? может даже в отладчике из 1С?
31. Павел Мирончик (brunen9) 10.01.14 22:29
(30) Makushimo, Для начала должен сказать, что не могу себе представить сайт-каталог без четкой логической структуры. Это же каталог, у него должны быть уровни и некая структура данных, иначе это каша. Так что структуру получить как раз таки легко - достаточно изучить сайт обычным серфингом через браузер. Опять же, не бывает сайтов без навигации, а это значит что есть ссылки или другая возможность перехода на интересующие страницы. Дальше остаётся только изучить, как осуществляется переход на них и разобрать код страниц с целью получить содержащиеся в них данные. Советую изучить код обработки.
32. Александр T (AlexAuto) 13.05.14 13:27
33. Александр T (AlexAuto) 13.05.14 13:35
Табличная часть поиска не заполняется(поле поиска с запрашиваемым номером затемнено), на вкладке web артикул найден
34. Павел Мирончик (brunen9) 13.05.14 13:49
(32) AlexAuto, это закономерно - обработке уже второй год пошел, екзист вполне мог поменять код страниц
35. Александр T (AlexAuto) 13.05.14 13:57
Печально ((( просто я увидел, что комменты достаточно свежие и решил глянуть, а тут вон чё ... код как то можно поменять в обработке?
36. Павел Мирончик (brunen9) 13.05.14 14:12
(35) AlexAuto, код полностью открыт - можете поправить, чтобы работало. А если вы финансово серьезно настроены - то знаете как со мной связаться.
37. Александр T (AlexAuto) 15.05.14 13:38
Если Лев(ЭлементТаблица.innerText, 12) = "ФирмаАртикул" Тогда - уперся в эту строчку ни фига не получается ((( или экзист закрыл от парсинга
38. Осипов Сергей (fixin) 27.05.14 21:24
(13) вот и у меня те же грабли, блин...
хоть ты на 8.2 переходи.
на IE до 8-го работает, а после - нет.
39. Павел Мирончик (brunen9) 27.05.14 21:35
На самом деле механизм в парсере используется примитивный, в новых проектах я давно отказался от использования ПолеHTMLДокумента.
40. centurion74 (centurion74) 27.05.14 21:42
(37) AlexAuto, экзист перешел на AJAX, поэтому и не работает. А полеXTMLдокумента страшно глючная хрень, как и IE, я тоже перешел на awesomium
41. nsm (nsm) 05.06.14 21:49
(40)А есть ли вариант всё равно его парсить? Как это можно осуществить?
42. Павел Мирончик (brunen9) 06.06.14 07:59
(41) nsm, варианты есть всегда, выше уже предложили один
43. nsm (nsm) 08.06.14 10:35
(42) Я конечно извиняюсь, но ещё раз перечитав все комментарии так и не увидел варианта, если не затруднит ткните пальцем в каком сообщении есть вариант)
44. Павел Мирончик (brunen9) 08.06.14 17:47
(43) nsm, так вот же:
А полеXTMLдокумента страшно глючная хрень, как и IE, я тоже перешел на awesomium
45. Андрей Тетенов (milita) 31.07.14 11:17
(44) brunen9, Добрый день! Если можно Скиньте на мыло andrei_prorok@mail.ru вашу разработку. Заранее спасибо!
46. Андрей Тетенов (milita) 31.07.14 11:21
(44) brunen9, И можно Ваши контакты, хотел бы обсудить заказ.?
47. haz haz (hazd) 12.10.14 00:31
автору спасибо, нужная вещь, я думаю с помощью неё можно парсить и другие сайты)
48. Евгений Стоянов (quick) 22.10.14 23:17
у меня такой парсер есть на Python, работает как напрямую с их веб сервисом так просто парсит через html
49. nsm (nsm) 20.11.14 13:51
(48) quick, brunen9, свяжитесь, пожалуйста, со мной по поводу возмездного сотрудничества 9629095 собака gmail точка com . как можно скорее))
50. Павел Коршунов (paradox91) 17.02.15 11:10
вышлите пожалуйста контакты для связи на nit.avto гмаил ком
51. Vladimir Urusov (uvsd2014) 17.02.15 11:47
(1) ZOMI, согласен . информация должна распространяться,
перетекать от одних центров данных к другим.. :)
и еще - информация не должна искажаться, так как искажение информации
вызывает социальные и природные катаклизмы.
52. Александр T (AlexAuto) 26.02.15 09:59
Так будет продолжение??? Или умерла так умерла....
53. Павел Мирончик (brunen9) 26.02.15 10:31
Обещать ничего не могу, но если и будет продолжение, то не в виде бесплатного продукта.
54. Александр T (AlexAuto) 03.03.15 09:55
А кто то говорил про бесплатно??? Дайте две )))
55. Павел Мирончик (brunen9) 03.03.15 18:29
(54) AlexAuto, извините, наверное я не с теми людьми много общаюсь. Все хотят дешево, а лучше вообще бесплатно. Ожидайте. Технология отработана, планы на парсер есть, посмотрим как оно повернется.
56. Ivan4 U (Ivan4) 11.06.15 13:05
Так не работает же.
Останавливается на
Артикул «G012A8GM1» найден в каталогах (2): и надо выбрать каталог.

Не работает -верни $m. (скачай мою)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа