форум web-разработчиков
FDE Grabber => Описание движка => Тема начата: ribas от Январь 19, 2013, 11:50:11
-
Добрый день!
Возможно ли добавление в граббер функции перевода спаршеного контента до публикации, допустим с помощью гугл переводчика или другого подобного сервиса? Такая функция, думаю, была бы очень полезна.
-
гугл переводчик с некоторых пор стал платным. Имеется пока что бесплатное api от яндекса, которое можно было бы использовать для таких целей, однако на один запрос там, если я не ошибаюсь не более 10000 символов, и не более 1 миллиона в день
-
10k символов в большинстве случаев достаточно... По сути перевод будет давать уникальный контент, чего и хотелось бы.
-
вы хотите вести двойной перевод? сначала с русского на какой-либо язык, а потом обратно?, в таком случае лимит количества символов в день будет как минимум в два раза меньше, то есть не миллион, а половина. Кстати, лимит количества символов у яндекса распространяется и на html форматирование, то есть реально, будет ещё меньше для полезного контента. Добавить такой хак можно, но тогда при превышении лимитов будут обрезаться новости...
-
Нет, не двойной, достаточно перевода одностороннего, скажем с русского на украинский - если делать новостной сайт на украинском языке. Очень много украинских новостных сайтов русскоязычные.
-
ожидайте такой хак в следующей версии системы импорта новостей
-
Спасибо, и еще вопрос, дабы не создавать новую тему - можно ли изменять название публикуемой новости по какому либо заранее определённому шаблону?
-
Изменять название новости можно или с помощью специально созданного хака (требуется знание php, подробности здесь (http://fde-grabber.fdstar.net/100-%D1%85%D0%B0%D0%BA%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%B3%D1%80%D0%B0%D0%B1%D0%B1%D0%B5%D1%80%D0%B0.html))
или с помощью, например замен регулярными выражениями (указываются в настройках категории источников)
А что конкретно нужно сделать с заголовком?
-
В источнике новость идет с заголовком вида "11888 (24.01.2013)". Возможно ли привести его к виду
"{желаемый текст}11888 (24.01.2013){желаемый текст}". То есть дописывать к существующему заголовку какую либо фразу.
-
для этого достаточно замены регулярным выражением, применённой к заголовку:
что заменяем:
#^(.*?)$#s
на что заменяем:
{желаемый текст 1}\1{желаемый текст 2}
* желаемый текст 2 должен начинаться не с цифры
-
Спасибо, всё работает, еще вопрос:
существует HTML источник новостей, в этом источнике первая новость всегда публикуется сначала как анонс, а через несколько дней текст в ней заменяется на полноценную новость. То есть она, по сути, не нужна до появления полноценного текста. Как начинать парсинг со второй новости в источнике?
-
1 - если адрес ненужной новости как-то или чем-то отличается от остальных, то можно воспользоваться новым функционалом, описанным здесь (http://fde-grabber.ru/288-fde-grabber-5-6-%D0%BE%D1%82%D0%B1%D0%B8%D1%80%D0%B0%D0%B5%D0%BC-%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%81%D0%B0%D0%BC%D0%BE%D0%B5-%D0%BB%D1%83%D1%87%D1%88%D0%B5%D0%B5.html), а именно, фильтром в настройках источника: "Ссылки на статьи должны удовлетворять указанному регулярному выражению"
2 - если содержимое ненужной статьи отличается от остальных наличием каких-либо особых слов, то их можно перечислить в настройках соответствующей категории граббера: "Цензура слов и выражений"
3 - в случае парсинга источника с помощью простого или DOM шаблона - вы можете удалять ненужные новости перед парсингом контента регулярным выражением, которое потребуется указать в настройках категории и применить только к кратким новостям, перед парсингом контента, это самый правильный вариант, тем более что он не настолько сложен (если возникают трудности с составлением регулярного выражения, то вы можете обратиться к нам за помощью через форму обратной связи (http://fde-cms.ru/do/feedback/))
-
отлично