Парсер контента: вопросы

InstantCMS 2.X
#16 8 апреля 2020 в 14:48

В принципе вопросы решены за исключением крона. Ну и ошибок, хотя рекомендуется просто отключить отладку (хотя это и не правильно)

Capitan
Может, всё же стоит поделиться тем или иным решением вышеупомянутых проблем?
Поэтому я не люблю русскоязычные форумы.
#17 8 апреля 2020 в 16:47
Вот что говорят про то почему в кроне не запускается задание
PHP запускается без модуля IonCubeLoader, тут вам может помочь только техподдержка или администратор сервера.

Может кто подскажет по этому вопросу? Что спрашивать то надо у хостера?
#18 8 апреля 2020 в 18:07

Вот что говорят про то почему в кроне не запускается задание

Capitan
А почему вы решили, что задание не запускается?
Судя по тому, что вы написали во 2 посте, задание стартует, но имеет ошибки и поэтому аварийно завершается. Ровно так же происходит и в варианте запуска через cron. Вероятнее всего, у вас некорректно настроен компонент Парсер контента.
#19 8 апреля 2020 в 18:47

А почему вы решили, что задание не запускается?

@IamB
Потому что в планировщике не меняется "Время последнего запуска" Парсер настроен правильно, т.к в ручную новости добавляются. В самом парсере есть только пункт "Периодичность выполнения, минут: " (у меня 120) Кстати для меня это вообще загадочный пункт. Что значит периодичность выполнения и чем этот пункт отличается от частоты запуска по крону (сейчас 5 мин)
#20 8 апреля 2020 в 19:48
Capitan, давайте попробуем посмотреть что выдаёт cron при запуске.
Напишите сюда 2 вещи: абсолютный путь к корню вашего сайта и строку запуска cron.php, убрав чувствительную информацию.
#21 8 апреля 2020 в 20:23
@IamB, Я нашел в чем была ошибка :)
У хостера размещено несколько сайтов. В основном под 7.2 а этот из-за парсера (я когда его ставил поменял версию РНР) под 5.6
Но строчку в планировщике /opt/php/7.2/bin/php не заменил. Поменял на /opt/php/5.6/bin/php и все сразу заработало.
Спасибо за помощь

p.s. Поставил время запуска крона через 1 мин
#22 9 апреля 2020 в 01:18
Мне тут ссылочку скинули на эту тему и вот я в ней появился)) Всех приветствую!
Capitan, прежде всего позвольте замечание вам лично — "Вот что говорят" и "Вот что ответил разработчик" это две разные вещи. Читая посты в этой теме складывается впечатление, что вы бьетесь как рыба об лед пытаясь до меня достучаться и ответа нет, что абсолютно не соответствует действительности. 5 апреля мы общались в ЛС, вчера на моем сайте. Ну а теперь по сути. На все эти вопросы я вам уже ответил, но коль они заданы в теме придется повторить(а возможно и дополнить по ходу):

При правильно настроенном задании вы не должны видеть никаких нотисов. Если у вас возникают уведомления или преупреждения PHP(не надо путать их с ошибками, ошибки в PHP выглядят совсем иначе), то это однозначно говорит о том, что вы неверно настроили задание. Например, вот возникающее у вас уведомление:
  1. Notice: Undefined index: paths in /var/www////s/system/controllers/parser/frontend.php on line 75
О чем оно говорит? О том, что парсеру не удалось скачать картинку. Это возможно в ряде случаев:

— Настраивая получение картинки вы выбрали участок страницы в котором картинок нет. Сам фрагмент страницы присутствует, был получен и обработан, однако картинку в нем найти не удалось.
— Ссылка на картинку не имеет расширения. Загрузчик инстанта не умеет загружать картинки у которых отсутствует раширение файла(.jpg, .png и т.д.)
— Другие причины, например та, которую рассмотрим ниже

Почему не удалось? Чиатем седующие нотисы:
  1. Warning: Invalid argument supplied for foreach() in /var/www/////system/controllers/parser/frontend.php on line 75
  2. Notice: Undefined index: normal in /var/www//////system/controllers/parser/hooks/cron_parser.php on line 74
И тут мы однозначно можем сказать, что картинку загружать вы пытаетесь, однако не выбрали ни одного пресета, который из нее следует создать.

Почему эти нотисы не убраны? Потому что парсер это чисто технический компонент и тут избыток информации лучше, чем ее недостаток. А нотисы это информация. Вот как в примере выше можно брать и ставить диагнозы)) Просто знайте — если вы видите нотисы значит не все прошло так гладко как хотелось бы. Хотя в ряде случаев это может даже не повлиять на конечный результат. Я постарался сделать компонент максимально устойчивым к различным внештатным ситуациям.

Спарсенные картинки в контенте не кликабельны. Как сделать чтобы они «открывались» по клику?

Поведение картинки зависит исключительно от настроек поля. В нем должен быть выбран пресет "Размер картинки при клике". В парсере вы должны лишь поставить галочку напротив данного пресета

При парсинге есть дубли ссылок в списке на сайте доноре и соответственно при «поиске ссылок» Как их убрать? Получается при добавлении по две-три идентичные записи!

Дублирование публикаций невозможно в принципе. Парсер никогда не станет качать публикацию с того же url с которого уже качал ранее. Единственный возможный вариант, при котором возможно задваивание это неверно настроенная фильтрация ссылок. Например у вас выбираются ссылки
site.ru/page.html
site.ru/page.html#comments
которые имеют разные url, но по сути ведут на одну страницу. Используйте черный и белый списки чтобы исключить дубли ссылок.

Ну и по поводу запуска по крону отвечать вроде не на что, крон на всем сайте не работал как выяснилось.
#23 9 апреля 2020 в 01:48

крон на всем сайте не работал как выяснилось.

dwd
Крон атаки работал, но не так :))
В настоящий момент все работает как надо. Настроил 6 источников.
Вот только надо разобраться как из тела статьи брать картинки, что-то тут я еще не очень понял, он их выводит в теле просто как ссылки на них.
И еще вопрос. А как поместить информацию (объявления) в свойства? Или можно только в поля?
#24 9 апреля 2020 в 02:45
Capitan, вам Scythian ссылочку на документацию показывал видимо не зря, там все детально описано — codeplace.ru/manual/page/504-izobrazhenie-k-state.html
Ваша задача лишь указать фрагмент страницы, включающий в себя тег img с нужной вам картинкой. Вы можете указать хоть всю страницу целиком и парсер возьмет из нее первую встреченную им в коде картинку. Нет нужды "играть в снайпера" и выцеливать чисто сам тег img и тем более ссылку на картинку))
#25 9 апреля 2020 в 02:55

И еще вопрос. А как поместить информацию (объявления) в свойства? Или можно только в поля?


По поводу самих свойств — вы сами должны решить что вам больше подходит. Лично я не использую свойства в виду ограниченности их возможностей(поддерживаются не все типы полей, невозможно использовать в сео и т.д.). Для решения этой задачи был написан компонент

Он наделяет поля теми же возможностями, которые имеют свойства. Однако если функционал свойств вас устраивает, то работа с ними мало отличается от работы с полями — www.youtube.com/watch?v=yMDTRC-mK9M
Также на канале вы найдете еще ряд роликов, посвященных парсеру и пакету расширения.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.