Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Axelenz

Users
  
  • Posts

    736
  • Joined

  • Last visited

Everything posted by Axelenz

  1. Для этого есть справка уважаемого разработчика, как правильно разделить атрибуты на Наименование атрибута и Значение атрибута. Привести всё к виду Название атрибута{csvnc}Значение атрибута{csvnc}Название атрибута{csvnc}Значение атрибута{csvnc} Даже по тому скудному фото видно, что не привели Вы всё к нормальному виду... https://simplepars.top/index.php?page=note&n=25
  2. Товар загружается так, как идут ссылки. Хотите выстроить по определённому порядку товар - выстройте по этому порядку ссылки и сделайте между ними паузу... например 5, чтобы наверняка... Чтобы выстроить в обратном направлении - берёте список, скидываете его в Excel, рядом столбец заполняете цифрами по порядку и сортируете этот столбец вместе со ссылками в направлении убывания. И дальше используете для парсинга уже этот список... Если, конечно, умеете пользоваться Excel... Не очень понятно, что даст выстройка товаров по порядку, как у донора ? Если это влияет на то, что новый товар всегда находится первым, то я бы не так делал... не обязательно, что ссылки все спарсятся именно, как у донора... могут быть ньюансы, например, категории разные. Я бы лучше рекомендовал парсить сначала в csv ссылку + id товара, выстраивать в Excel по порядку id (если он построен на логике "порядковый номер" товара на сайте) и потом уже именно по такому принципу выстраивать ссылки для парсинга... ну и задержка, чтобы товар не проскочил "вне очереди"... Да и вообще, чтобы понять, как лучше сделать это необходимо понимать самое главное - ЗАЧЕМ ? А так это всего лишь догадки и построение выводов на их основании...
  3. Регулярка именно в таком виде не сработает. Очевидно Вы имеете ввиду "Случайный текст", как это реализовано, например в АОП. Регулярные выражения в чистом виде, не предполагают рандомного выбора данных. Поэтому псевдорандомность (случайную выборку) возможно получить только в одном случае - используя уже имеющиеся в коде страницы случайным образом меняющиеся данные. Это может быть, например: дата, время или в нашем случае - id товара. Сложность выполнения поставленной задачи предполагает приличные знания как самого модуля так и регулярных выражений... Сама схема вкратце выглядит так: - делаем границу парсинга, которая захватывает и id товара и его Описание - в захваченных данных делаем замены в коде таким образом, чтобы потом в повторяющиеся границы попали и id товара и Описание - делаем повторяющиеся границы, захватывая id товара и Описание - регулярками подрезаем id, оставив, например, только 2 последние цифры номера В итоге получим что-то типа: 22 Описание товара... бла-бла-бла. 58 Описание товара... бла-бла-бла. 39 Описание товара... бла-бла-бла. ... Теперь включаем свою SEO фантазию и делаем замены... {reg[#^(22) Описание товара#]}|$1 Описалово товарчика {reg[#^(58) Описание товара#]}|$1 Товарное описалово {reg[#^(39) Описание товара#]}|$1 Товар и его описание в стихах ... {reg[#^(\d2(.*?))бла-бла-бла#]}|$1 бли-бли-бли {reg[#^(\d8(.*?))бла-бла-бла#]}|$1 блю-блю-блю {reg[#^(\d9(.*?))бла-бла-бла#]}|$1 бля-бля-бля ... Это, если вкратце...
  4. Ошиблись в доноре... Вы новичок в теме парсинга и хотите сразу начать парсить Розетку, да ещё и в 5 потоков без задержек и за пару часов все 15,000 ссылок... ))) Что-то мне подсказывает, что у Вас ничего не получится...
  5. На вкладке Парсинг в ИМ "кнопка запуска" называется Старт парсинга, если планируете загружать непосредственно в магазин. Во-вторых у Вас стояло создание кеша. В третьих Вы хотели использовать не все ссылки, а только ссылки со своего списка, а рабочий список или нет... Т.е. исправьте на использование всех ссылок и парсите, пока не используйте кеш, попробуйте хотя бы так что-то получить. Да... и читайте всё время логи... там всё рассказывается... Я поправил эти ньюансы и начинает парсить и выходим на ошибку 403... 2021-11-03 12:53:41| Парсинг : ОТВЕТ | Forbidden, доступ запрещен. Ответ сервера [403] Ссылка | https://cs-online.su/catalog/vanny/stalnye_vanny/77370/ А это уже совершенно другая история )
  6. Мне кажется, если на вкладке "Поиск/Замена" кнопки сделать вот такого вида (как на картинке выше): - Преобразовать - Спарсить границу (под ней) - Спарсить границу + Преобразовать (одна большая кнопка правее) то будет и логичнее и понятнее для пользователей, чем так, как это сейчас выглядит... ну или хотя бы вместо "Сп" написать полностью: "Спарсить"... место ведь есть. Если не делать одну большую кнопку, то тогда логичнее "Сп+Преобр." перенести под "Преобразовать", а вместо неё разместить "Спарсить границу", так будет понятнее, правее идут ссылки...
  7. @Rassol2 Очередное наблюдение за сайтами клиентов... Делал парсинг пару месяцев назад (магазин одежды) и по условию ТЗ выбирать нужно было у донора ссылки не по всем страницам пагинации и не на все группы товара, а, например, если платья имеют 400 страниц пагинации, то берём ссылки со 100 страниц; если футболки имеют 100 страниц пагинации, то берём ссылки с 20 страниц, т.е. выбираем то, что поновее. Так и сделал и всё парсилось... Но когда через пару месяцев посмотрел на товары, то обнаружил, что при увеличении общего количества страниц, количество товара в наличии по отношению к первоначальному уменьшилось почти в 2 раза! Специально начал проверять, почему так происходит и причина оказалась весьма банальной... сезонность товара. Так 400 страниц платьев превратились осенью, например, в 700 страниц пагинации, а футболок наоборот уменьшились до 5 страниц... Получилось, что при парсинге значительно уменьшилось ежедневное поступление товара в магазин за счёт изменения пропорции летний/зимний товар. Возникает следующий вопрос... как же можно это донести до клиента и возможно ли его обучить вносить сезонные изменения в Очередь сканирования ссылок ? Очевидно, что нет или далеко не всегда... Из вышесказанного возникает очередная хотелка "на будущее" или "отложите в длинный ящик"... Выбор в Графике выполнения cron заданий по дополнительному условию, например: - в зависимости от времени года (просто привязкой к дате); - в зависимости от дня недели (у некоторых магазинов цена в обычный день и в выходной может отличаться; привязка к дню недели); - в зависимости от времени дня (по типу - ночью дешевле, как пример; привязка ко времени). Т.е. чтобы совсем было понятно, например: до 28/02/2022 выполняется cron [1]Одежда_зимняя, а уже с 01/03/2022 выполняется cron [2]Одежда_весенняя. В которых можно уже предусмотреть разные наценки для разных групп товаров, разные пропорции парсинга категорий товаров и пр. важные моменты для магазинов, которые связаны с сезонным товаром: - магазины одежды - магазины обуви - магазины товаров для детей - спортивные магазины и пр. Думаю, что на сегодня хотелок достаточно, наверное я уже и так превысил их количество за единицу времени...
  8. Для профилактики лучше использовать уменьшение нагрузки на сайт донора... А это можно достичь, например: - с помощью более продуманной фильтрации сбора ссылок как в очереди, так и в ссылках на товар, - использовать для парсинга не все 7 дней недели, - разделением парсинга на несколько частей за счёт использования таймаута, - уменьшением количества потоков до 1, - разделением парсинга для обновления и парсинга для добавления товара (при необходимости), - увеличением времени парсинга за счёт увеличения задержек, - создание задержек с использованием рандомного выбора паузы вида от и до: "1-10"...
  9. А что скажете по поводу реализации "Импорта ссылок из файла" через cron ? Вы летом писали, что есть в планах такая доработка... Иногда приходится использовать сразу два модуля, чтобы реализовать такую хотелку... ( Первым модулем парсим и формируем прайс со своими переделками, а вторым уже загружаем его на сайт... это чтобы "без рук", чтобы всё именно через cron происходило.
  10. Добрый день. Да, было бы замечательно добавить в модуль дополнительные возможности. Потому, как если в модуле много разных проектов, если у Заказчика несколько разных Исполнителей, если модуль обновляется разными Исполнителями... учитывая все эти "если" вносить какие-то исправления в сам модуль, кроме автора модуля, не желательно...
  11. Из последних хотелок... Очень полезная возможность была бы, чтобы при разборе xml можно было бы получать в "Ссылки на товары" не только ссылки вида ....xml, но и реальные ссылки на товар из xml: <url>https://site.com/catalog/product/tovar</url>. Это весьма облегчило бы жизнь тем, кто работает с xml... Получили бы выбор парсить или с xml или по полученным ссылкам парсить дальше сайт. В чём фишка ? В том, что во-первых можно не собирать ссылки с сайта, в том, что иногда заказчика интересует только реальное наличие, а оно, как правило в xml бывает... Можно ввести поля во вкладке "Обработчик xml", где был бы выбор, какого плана ссылки нужны для работы... Опять же, если теги не так называются, пусть будет выбор полей, где указать можно конкретно. Или даже лучше по умолчанию пусть будет <url>, а если нет - то указать конкретно, что в xml находится... P.S. В последнее время много приходится работать с сайтами на Битриксе, а там сплошные xml причём не самого лучшего вида... парсить это всё просто жесть... А если пофантазировать... Сделать выбор вида ссылок не "ИЛИ", а "И" (т.е. чтобы ссылка была вида xml и реальная ссылка под ней), то можно было бы организовать при парсинге выбор откуда брать данные, если в xml их нет, то парсим данные с сайта... Но это чисто теоретические фантазии на тему каким будет SimplePars в далёком будущем... )))
  12. characteristic-title">| <div class="characteristic-values{skip}>|{csvnc} [{skip}]| {reg[#\s+</div>\s+<div class="characteristic-value">\s+#mu]}|, <{skip}>| {reg[#\v#]}| {reg[#\h{2,}#]}| {reg[#\s+?{csvnc}\s+?#]}|{csvnc} В повторяющихся границах вставьте, может где подправьте... SPsetting-91.json
  13. Если у Вас всё, что в title идёт, как Название атрибута, а в value соответственно, как его значение и так везде, то можно спарсить атрибуты. У Вас только получится, что в value они должны идти или списком или через разделитель. Т.е. это разные значения одного Атрибута фактически... Но это не кусочками нужно видеть, как Вы даёте... не хватает общей картины, что там ещё есть под капотом... Ссылка на сайт есть вместо картинки ? )
  14. Да, к сожалению далеко не все сайты наполняют информацией сайты так, что можно легко это спарсить... Отсутствие симметричности и логики в размещении атрибутов намекает на дальнейшую доработку вручную... сам такое не люблю...
  15. Разделителем можно взять диаметр, но не факт, что он идёт разделителем для всех атрибутов. Как вариант, можно сделать замену диаметра на ": Ø" Ø|: Ø и потом ::|: на тот случай, если два двоеточия получится где-то
  16. ПРИМЕРЫ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ. Для использования в модуле SimplePars. На самых простых примерах буду показывать тем, кто не имеет опыта работы с ними, как можно использовать регулярные выражения на вкладке Поиск/Замена. По мере своей загруженности постараюсь выкладывать подобные примеры, если это будет интересно и пригодится в работе ещё кому-то. Что такое регулярные выражения Вы можете почитать в интернете, в специальной литературе, а так же на странице разработчика модуля Заметки по регулярным выражениям Использование якорей: ^ - Начало строки. \A - Начало текста. Можете использовать это как образец. Строки с регулярными выражениями и комментариями к ним закомментированы с помощью "#". Уберите "#" и выражение начнёт работать... Далее идут примеры работы каждого регулярного выражения... Пример №1. Пример №2. Пример №3. Пример №4. Пример №5. Пример №6.
  17. {reg[#,$#]}| запятую вот этой регуляркой можно убрать в конце но если возможно после неё могут идти пробелы... то лучше этой: {reg[#,\s*?$#]}|
  18. С помощью этого модуля или на крайний случай с помощью связки SimplePars + АОП приходится парсить любые сайты... Не попадалось ещё сайта, где не возможно спарсить информацию, хотя я занимаюсь парсингом сайтов постоянно... Даже удалось наконец разработать систему парсинга большого сайта, где имеются товары с 2-мя связанными опциями цвет+размер, товары с одной опцией цвета, товары с одной опцией размера, но уже с иным кодом, чем в предыдущем варианте, и с товарами вообще без опций... При этом использовать только стандартные возможности модуля без дополнительных скриптов... ну и плюс небольшие простыни регулярок ) Правда всё это возможно получить на выходе только в csv, а не сразу в магазин, но мне это всё равно для маркетплейса... Лично мне не хватает иногда только переменных... ) А так функционал позволяет решать весьма сложные задачи...
  19. Отчасти я с Вами согласен, но... один из моих клиентов уже 2 недели добивается, чтобы я ему сказал, какую именно цифру необходимо поставить в Наценку, чтобы модуль добавлял 10% к цене... Я давал ему ссылки на примеры из школьной программы для 5-го класса, где учат %; давал ссылку на страницу Вашей справки, где это всё расписано; он знает что ему нужно накинуть 10%, он понимает куда это нужно вставить, но... не знает на что нужно умножить, чтобы получить +10%... А Вы говорите "функционал"... (
  20. Из области хотелок... И опять же вопрос не функциональности, а вопрос удобства в работе. Те, кто парсят в свой магазин и у кого 1-2 проекта не поймут, оценят те, кто занимается парсингом постоянно. На вкладке Настройки парсинга было бы очень удобно не набирать постоянно названия границ, а чтобы существовал выбор из готовых названий границ (рекомендую делать выборку из уже существующих названий, которые есть в Парсинг в ИМ, но не только на RU, а сразу же и для англоязычной аудитории на En). Тогда можем получить более-менее однотипные названия границ, в которых можно будет проще разобраться, открыв даже чужой проект. Да и вообще в наш век электроники и кибернетики набирать постоянно одно и тоже: Код товара, Артикул, Название... когда они уже и так прописаны на вкладке Парсинг в ИМ и будут использоваться там же... это совсем не камильфо ( Но это моё личное мнение и я не навязываю его автору, но форум для того и создан, чтобы модуль развивался в направлении хотелок сообщества, поскольку сам проект носит всё же коммерческий характер...
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.