bdd2

Парсер сайта 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) 391 29.08.12 01:19 Сейчас в теме
Больше парсеров , разных и нужных !Плюсую !
antares_of; +1 Ответить 1
2. Павел Мирончик (brunen9) 63 30.08.12 21:14 Сейчас в теме
Файл выложен заново. Я исправил досадную логическую ошибку - нельзя было работать с пустым списком брендов в настройках фильтрации.
3. Владимир Б (antares_of) 13 04.09.12 14:05 Сейчас в теме
Круто, попробуем. Так так же можно для многих полезных сайтов сделать. Целую конфу разработать со списком обработок по сайтам и другими прикалюхами!)
4. Valery Gagarkin (Gawws) 04.09.12 22:19 Сейчас в теме
Хорошая задумка. А цену, наличие и срок поставки на форму можно поместить? Чтобы видеть, где выгоднее заказать: у дилера или в exist.
5. Павел Мирончик (brunen9) 63 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) 63 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) 63 24.09.12 19:33 Сейчас в теме
(10) nsm, а версия 1С какая? Только в 8.2.14 добавили поддержку IE9.
12. nsm (nsm) 25.09.12 08:14 Сейчас в теме
13. Павел Мирончик (brunen9) 63 25.09.12 12:35 Сейчас в теме
(10) nsm, Всё-таки дело именно в IE9, а точнее в реализации WebBrowserControl, который используется элементом типа ПолеHTMLДокумента. Решения пока нет, такие же проблемы во всех языках программирования, Microsoft молчит :)
14. nsm (nsm) 03.10.12 14:26 Сейчас в теме
Кстати у меня у одного перестал отображаться результат запроса или это какие то изменения на exist.ru? (просто ещё сам не смотрел в чем проблема, нет ТЗ и всё тут)
15. Павел Мирончик (brunen9) 63 03.10.12 15:09 Сейчас в теме
(14) nsm, Изменения на exist.ru - поменяли id таблиц. Вечером выложу обновление.
16. Павел Мирончик (brunen9) 63 03.10.12 19:56 Сейчас в теме
Обновление в связи с изменениями на exist.ru
17. nsm (nsm) 04.10.12 09:04 Сейчас в теме
И не большое предложение. Результат выводиться не только по аналогам, но и по заменам, их конечно очень не много, но они есть, а в ТЗ они не попадают.
18. Павел Мирончик (brunen9) 63 04.10.12 11:54 Сейчас в теме
(17) nsm, Готово, обновляйтесь.
19. nsm (nsm) 08.10.12 09:10 Сейчас в теме
(18) brunen9, Спасибо. Сейчас посмотрю ту часть, что парсит сайт.
20. Павел Мирончик (brunen9) 63 15.11.12 16:26 Сейчас в теме
Обновление в связи с изменениями на exist.ru, №2
21. Владимир Анциферов (prefect) 11.12.12 14:26 Сейчас в теме
22. Павел Мирончик (brunen9) 63 11.12.12 17:49 Сейчас в теме
(21) prefect, в описании указано:
Платформа: 1C: Предприятие 8.2
Вы посты набиваете?
23. Владимир Анциферов (prefect) 11.12.12 19:05 Сейчас в теме
24. Максим Кузнецов (Makushimo) 148 10.01.14 08:04 Сейчас в теме
А как вы определили с какой страницы сайта что грузить?
25. Павел Мирончик (brunen9) 63 10.01.14 08:27 Сейчас в теме
(24) Makushimo, Исследовал структуру сайта и код страниц, это довольно просто.
26. Максим Кузнецов (Makushimo) 148 10.01.14 10:10 Сейчас в теме
(25) brunen9,
Как? если просто, объясните.
27. Сергей Пшеничников (Зеленоград) 10.01.14 11:21 Сейчас в теме
28. Павел Мирончик (brunen9) 63 10.01.14 19:07 Сейчас в теме
(27) Зеленоград, Если соблюдать правила пользования сайтом - не банят. Если нет - то сразу.
29. Павел Мирончик (brunen9) 63 10.01.14 19:07 Сейчас в теме
(26) Makushimo, Задайте конкретный вопрос, пока затрудняюсь ответить.
30. Максим Кузнецов (Makushimo) 148 10.01.14 19:43 Сейчас в теме
(29) brunen9,
Например, стоит задача: спарсить некий каталог с сайта, который хранится на разных страницах
неизвестно ни на каких страницах все расположено ни сколько этих страниц. Есть только адрес сайта.
Нужно определиться со структурой сайта. Как это сделать? "Сграбить" его к себе и чем-нибудь расковыривать кишки? или есть какой-нить способ просмотра структуры на лету? может даже в отладчике из 1С?
31. Павел Мирончик (brunen9) 63 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) 63 13.05.14 13:49 Сейчас в теме
(32) AlexAuto, это закономерно - обработке уже второй год пошел, екзист вполне мог поменять код страниц
35. Александр T (AlexAuto) 13.05.14 13:57 Сейчас в теме
Печально ((( просто я увидел, что комменты достаточно свежие и решил глянуть, а тут вон чё ... код как то можно поменять в обработке?
36. Павел Мирончик (brunen9) 63 13.05.14 14:12 Сейчас в теме
(35) AlexAuto, код полностью открыт - можете поправить, чтобы работало. А если вы финансово серьезно настроены - то знаете как со мной связаться.
37. Александр T (AlexAuto) 15.05.14 13:38 Сейчас в теме
Если Лев(ЭлементТаблица.innerText, 12) = "ФирмаАртикул" Тогда - уперся в эту строчку ни фига не получается ((( или экзист закрыл от парсинга
38. Осипов Сергей (fixin) 3437 27.05.14 21:24 Сейчас в теме
(13) вот и у меня те же грабли, блин...
хоть ты на 8.2 переходи.
на IE до 8-го работает, а после - нет.
39. Павел Мирончик (brunen9) 63 27.05.14 21:35 Сейчас в теме
На самом деле механизм в парсере используется примитивный, в новых проектах я давно отказался от использования ПолеHTMLДокумента.
40. centurion74 (centurion74) 26 27.05.14 21:42 Сейчас в теме
(37) AlexAuto, экзист перешел на AJAX, поэтому и не работает. А полеXTMLдокумента страшно глючная хрень, как и IE, я тоже перешел на awesomium
41. nsm (nsm) 05.06.14 21:49 Сейчас в теме
(40)А есть ли вариант всё равно его парсить? Как это можно осуществить?
42. Павел Мирончик (brunen9) 63 06.06.14 07:59 Сейчас в теме
(41) nsm, варианты есть всегда, выше уже предложили один
43. nsm (nsm) 08.06.14 10:35 Сейчас в теме
(42) Я конечно извиняюсь, но ещё раз перечитав все комментарии так и не увидел варианта, если не затруднит ткните пальцем в каком сообщении есть вариант)
44. Павел Мирончик (brunen9) 63 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) 556 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) 4 17.02.15 11:47 Сейчас в теме
(1) ZOMI, согласен . информация должна распространяться,
перетекать от одних центров данных к другим.. :)
и еще - информация не должна искажаться, так как искажение информации
вызывает социальные и природные катаклизмы.
52. Александр T (AlexAuto) 26.02.15 09:59 Сейчас в теме
Так будет продолжение??? Или умерла так умерла....
53. Павел Мирончик (brunen9) 63 26.02.15 10:31 Сейчас в теме
Обещать ничего не могу, но если и будет продолжение, то не в виде бесплатного продукта.
54. Александр T (AlexAuto) 03.03.15 09:55 Сейчас в теме
А кто то говорил про бесплатно??? Дайте две )))
55. Павел Мирончик (brunen9) 63 03.03.15 18:29 Сейчас в теме
(54) AlexAuto, извините, наверное я не с теми людьми много общаюсь. Все хотят дешево, а лучше вообще бесплатно. Ожидайте. Технология отработана, планы на парсер есть, посмотрим как оно повернется.
56. Ivan4 U (Ivan4) 22 11.06.15 13:05 Сейчас в теме
Так не работает же.
Останавливается на
Артикул «G012A8GM1» найден в каталогах (2): и надо выбрать каталог.

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