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. А почему нельзя по такому же принципу сделать сопоставление атрибутов для мультиязычного ? Например, парсятся атрибуты на русском. Заливаются на сайт. Теперь с базы вытягиваются эти спарсенные атрибуты, а также вытягивается их attribute_id и language_id. Дальше парсятся с донора атрибуты на другом языке, например, на украинском. Теперь в скрипте путём выбора делаем соответствие атрибутов с донора на обеих языках. А поскольку на первые атрибуты имеем сразу же их attribute_id, то остаётся только указать в какой именно language_id должны попадать вторые атрибуты... Наверное можно будет связать Наименования атрибутов со Значением атрибутов ? Ну это я себе так теоретически представляю )))
  2. Не так давно делал на заказ парсинг двуязычного сайта и пришлось полистать интернет... Вот то же самое описывают на форуме: https://opencartforum.com/topic/16297-podderzhka-avtomaticheskaya-obrabotka-prays-listov/?page=1857&tab=comments#comment-1692398 https://opencartforum.com/topic/16297-podderzhka-avtomaticheskaya-obrabotka-prays-listov/?page=1856&tab=comments#comment-1690421 Поэтому я спарсил человеку на разных языках то, что возможно использовать на сайте Opencart, а атрибуты он сам уже переводил...
  3. Сами по себе регулярные выражения ничего не значат. Значит то, насколько правильная логика выбрана и в то ли место эти выражения вставлены... Я часто использую, например, при очистке Описания с донора десятки строк с регулярными выражениями, которые что-то удаляют, заменяют, проверяют... и приходится вставлять чистку от лишних пробелов по нескольку раз в разных местах...
  4. Из хотелок... На вкладке "CSV/Парсинг" в "Настройки допуска к обработке страницы" имеем, например, вариант загрузить если "Не содержит %значение%". Возьмём Наименование товара со словами, которые не должны быть спарсены, например: Маска для лица МАСКА от пыли Комплект маска и ласты Костюм маскарадный Маскарадные костюмы Очки-полумаска для плавания ну и т.д. Сейчас выбор фильтрации идёт по строгому соответствию слова, выбрав "маска" мы отфильтруем наименования, в которых присутствует слово с таким написанием. Я предлагаю расширить возможности фильтра и сделать как "жёсткую" привязку к слову, так и более "расширенную", если можно так выразиться. Т.е. оставить то, что уже есть, но и добавить вариант: "Не содержит все варианты %значение%" И этот фильтр убирает не только слова "маска", но и слова "Маска", "МАСКА" и пр., т.е. строчное/прописное написание слов игнорируется... Осталось только разобраться с вариантами, когда слово может быть, как часть более длинного слова... маскарадный, например... думаю, что такие варианты не должны рассматриваться, только в границах слова... Есть, конечно, регулярки, но всё же... Ну и аналогично расширить "Содержит %значение%". Это нужно для того, чтобы не тянуть длинные "простыни", где нужно учесть и расписать всевозможные варианты написания слов.
  5. Хотелка по удобству работы с модулем... Вкладка "CSV/Парсинг". Я нажимаю очередную "волшебную" кнопку и автоматически заполняются "Название колонки в прайс листе CSV", например, наименованиями по порядку, как они идут в АОП... Красота ? Лишнее всегда можно удалить, но каждый раз заполнять одно и то же... ( Не лишним так же была бы возможность перемещения полей вверх-вниз... Иногда приходится реализовывать нудные проекты, число столбцов в которых превышает 500 ((( под дальнейший допил в Excel... Зато начинающим не нужно будет голову ломать, а что там писать и куда оно и зачем оно... Автозаполнение это наше всё, это то, что делает работу удобной и комфортной, убирает рутину.
  6. {reg[#^(.*?);(.*?)$#]}|$1 оставить текст до знака ";" и удалить всё после него (и его так же). {reg[#^(.*?);(.*?)$#]}|$2 удалить текст до знака ";" (и его так же) и сохранить всё после него. {reg[#^(.*?);.*;(.*?)$#]}|$1$2 вырезать текст между символами ";"
  7. Ну можно, как вариант, получить из него какой-нибудь короткий хэш-код... но только не на 64 символа, может можно придумать хотя бы на 16 ?
  8. Всё настроил... работает, подхватывает куки и url с донора... Благодарю. Вот бы ещё сюда прерывания в работе запихнуть. Например: через каждые X минут/часов или сотен/тысяч спасенных товаров перерыв в работе на Y минут... или лучше рандомный выбор от ... до ... минут/часов. Чтобы никого не напрягать. Я обычно так на ночь ставлю, с прерыванием.
  9. Пришлось читать... Настроил, парсит, но через 5 минут выбрасывает из кабинета... нужно снова вводить логин и пароль, поэтому я использовал скрипт, который делает то же самое, только автоматически.
  10. При таких настройках вообще ничего с сайта не парсит... Парсит только, когда язаливаю куки в файл, ставлю ";" и блокирую файл от записи... но цену оптовую с кабинета так и не берёт... а 4.1-3 берёт всё без проблем...
  11. У меня куки донор сбрасывает каждые 5 минут, поэтому я ими пользуюсь, блокируя txt файл на "Только чтение". В 4.2.это уже что-то не лепится...
  12. Есть сложный донор, со сменой cookie через каждые 5 минут парсинга. Я разработал схему, как его парсить и она работала на всех версиях и на версии SimplePars v4.1-3_stable и сейчас работает, но... на последующий бетах модуль уже не может спарсить оптовую цену, которая есть только после регистрации в кабинете... ((( Откатываюсь на стабильную версию SimplePars v4.1-3_stable...
  13. Вот так можно подготовить Атрибуты перед разделением на Наименование атрибута и Значение атрибута. В следующей повторяющейся границе теперь используем для указания границ • и <br>. В итоге получаем спарсенные атрибуты примерно в таком виде: Это ведь просто текст, который весьма условно можно считать атрибутами, он не отформатирован должным образом. Он выполнен в виде обычного описания товара. Поэтому такие участки можно поправить исключительно в том случае, если во всех товарах всё повторяется и можно сделать в первой границе сразу замену на текст, который возможно разделить на атрибуты правильно... а так только вручную... В Вашем случае можно попробовать: , дополнительная защита|<br>{br}• Дополнительная защита ; диаметр ригелей|<br>{br}• Диаметр ригелей
  14. \s - пробельный символ, включает в себя символ пробела, табуляции \t, перевода строки \n и некоторые другие редкие пробельные символы, обозначаемые как \v, \f и \r. Поэтому табуляция \t и так присутствует в \s. Я бы рекомендовал добавить ещё в справку: \h - любой горизонтальный пробельный символ полезная вещь, которая включает все пробельные символы, кроме вертикальных типа \v и \r\n. Ну и его антипод \H - любой символ, не являющийся горизонтальным пробельным символом
  15. Если что-то в виде кракозябр, то открываете, например, в LibreOffice и сохраняете файл в формате для Excel, а потом уже только открываете с помощью Excel. Удобно, не спорю...а что делать. А потом удивляются, почему никто не покупает Microsoft Office, это же так удобно )))
  16. В экспорте настроек не хватает для удобства кнопки "Полная очистка проекта". По типу, как у очистки ссылок, чтобы задавался вопрос "А Вы уверены, а может не надо...". Или подскажите, как можно получить из старого проекта (не удаляя его), девственно чистый проект, ну и чтобы это было не очень суетно... Зачем это нужно. Это только для тех, кто занимается парсингом не для себя... Накапливается множество проектов, а иногда удобно делать проекты одного и того же магазина подряд друг за другом, например, когда это проект только обновления цены и наличия ну или пр. Ну и может можно сделать экспорт не одного проекта, а всех проектов сразу, чтобы по отдельности их не экспортировать и не переименовывать ( Ещё можно было бы добавить по принципу полной очистки: "Очистить все кеши" "Очистить все cookies" ... Ну это хотелки их разряда удобства эксплуатации модуля и к функциональности не относятся, но всё же...
×
×
  • 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.