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

Axelenz

Users
  
  • Posts

    744
  • Joined

  • Last visited

Everything posted by Axelenz

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