dwd

dwd

+382
Репутация
6746
Рейтинг
#1 [ЕСТЬ РЕШЕНИЕ] Парсер контента 30 ноября 2016 в 22:32

Скажите, может ли он авторизироваться на сайте и после этого спарсить нужный контент? Те же социалки, например фэйсбук. Судя по сообщениям выше скорее да чем нет, если да то не могли бы вы описать в документации данный момент. Спасибо.
Еще момент, не планируется ли интегрировать компонент с другими компонентами/сервисами перечисленными вами выше, например пинг поисковых систем после публикации, постинг в соц-сети, автоперевод контента.
Тремя словами "все из коробки".
Спасибо.
Зы: еще интересует редирект, через тот же гоо.гл :)

Василич

Получение страниц с сайтов источников в парсере производится при помощи библиотеки cURL, которая позволяет вам указывать множество параметров подключения, в том числе и произвести авторизацию на сайте перед загрузкой страницы. Вы сами можете определять настройки cURL для любого сайта, страницы, маски страниц. Вот вам несколько статей про авторизацию на сайтах при помощи cURL — статья 1, статья 2. Поскольку для каждого сайта настройки cURL будут разными то получить данный функционал "из коробки" не представляется возможным, но у вас есть все необходимое для реализации вашей задачи.

По поводу интеграции ситуация практически аналогична — существует множество подобных компонентов и интегрировать все(приобрести чтобы изучить их код) я не вижу смысла. Давайте представим, что нам нужно перевести контент после публикации на сайте при помощи компонента "Мультиязычность". В интерфейсе компонента есть кнопочка "Авто-перевод от Яндекса". Когда вы на нее нажимаете получаете переведенный Яндексом контент и если перевод вас устраивает жмете кнопку сохранить. Что происходит в это время? Вызывается 2 функции — условно назовем их перевестиКонтент() и сохранить контент(); Ну и попробуем перевести нашу опубликованную статью $article:

<?php
$model = cmsCore::getModel('multilang');
$ article_english['заголовок'] = $model->перевестиКонтент($ article['заголовок']);
$ article_english['текст_статьи'] = $model->перевестиКонтент($ article['текст_статьи']);
$model->сохранить контент($article_english);
?>

Вот вам и вся интеграция. 4-5 строк кода будет достаточно для интеграции с большинством компонентов, а некоторым хватит и двух строк.

P.S. Код написан исключительно с целью продемонстрировать простоту интеграции и должен выразить общую суть процесса.
#2 Отказы на сайте 28 ноября 2016 в 18:42


al955, отказ по времени в метрике устанавливается для личного анализа.

Яша анализирует по своим алгоритмам. Т.е. отказы по времени (15сек) в отчетах метрики не всегда являются отказами в глазах яндекса!)

Алгоритмы анализируют контент на сайте, и если на странице размещена информация которую можно проанализировать за 5 сек, то посещения в 10сек для яши не будет считаться отказом, но в отчетах метрики будет отказ, т.к. выставлена настройка "продолжительность визита меньше заданного для расчета отказов времени (по умолчанию 15 секунд); "

reload

Да, именно так. Собственно это я и хотел донести до топикстартера. al955 сам должен решать какие именно отказы есть отказами на самом деле. Метрика лишь дает ему информацию о случаях когда пользователь покинул страницу не пробыв на ней 15 секунд. И цифра эта не означает ровным счетом ничего. Известен запрос, целевая страница, а выводы нужно делать самому.
#3 Отказы на сайте 28 ноября 2016 в 04:28

Показатель отказов это один из факторов определяющих поведенческие факторы для Яндекса. Если он высокий, значит ваш сайт не решает вопроса посетителя — он возвращается в поиск и ищет снова. На определенной границе вы все реже будете выдаваться по запросам, доверие или так называемый уровень доверия к вам поисковика будет низким.

letsgo

Все верно, только есть одна проблема. Никто не знает был ли "отказ" отказом на самом деле. И понятие "ищет снова" в формулировке термина "отказ" тоже отсутствует. Вот вам кусочек справки Яндекса:

Визит считается отказом, если для него одновременно выполнены следующие условия:
— за время визита зафиксировано не более одного просмотра страницы;
— продолжительность визита меньше заданного для расчета отказов времени (по умолчанию 15 секунд);
— не зафиксировано служебного события «неотказ».


Вот, например вам скриншот сайта который отлично чувствует себя в поиске несмотря на огромное число "отказов":
Иллюстрация

Так что все изложенное letsgo верно, но не имеет никакого отношения к понятию "отказ". Само по себе понятие "отказ" не несет никакого негатива. Потому, что тут скорее важен другой момент — получил ли посетитель вашего сайта ту информацию, которую искал. Даже если посетитель провел на вашем сайте меньше 15 секунд, но при этом не вернулся в поисковик и не продолжил поиск то это скорее плюс вашему сайту, если вернулся и продолжил поиск, то минус(как и сказано выше letsgo).

Лично я про статистику своего серфинга в Интернете могу сказать так — я генерирую отказы на 80% посещенных мной сайтов, но как правило практически сразу нахожу нужную мне информацию. Я могу открыть сразу 5 новых вкладок, получить и скопировать информацию из первой закрыв после этого все пять. И все это менее чем за 10 секунд. Поверьте, поисковики тоже учитывают этот факт так как следят не только за вашим сайтом и знают его историю, но следят и за мной и знают мое поведение в Интернете. Так что каждый случай сугубо индивидуален и решать "вредные" у вас отказы или "полезные" нужно не опираять на статистику отказов в Я.Вебмастере.
#4 [ЕСТЬ РЕШЕНИЕ] Парсер контента 25 ноября 2016 в 14:55

С открытой регистрацией теперь таких "положительных" моментов станет больше )

rookee

Это намек на накрутку? Вы думаете человеку, оставившему комментарий понравилось ваше высказывание?

Иллюстрация

Я бы на вашем месте извинился перед человеком.))))
#5 [ЕСТЬ РЕШЕНИЕ] Парсер контента 24 ноября 2016 в 06:14

2. Вы грузить изображения в поле умеете, что тогда мешает это делать парсером? Указываешь поле в настройках и грузишь как и все остальные в поле только свое.

vikont

Если у вас есть примеры таких сайтов скиньте мне в ЛС пожалуйста парочку. Как появится минутка сделаю обработчик для подобного рода задач. Поле с типом "Набор изображений" вы имеете в виду? Я вас правильно понял?
#6 [ЕСТЬ РЕШЕНИЕ] Парсер контента 24 ноября 2016 в 03:02

Жуть! Если в слайдере было 50 фоток, то они все выстоятся друг за другом! Это сразу убить статью! Кто ее будет читать?
Слайдер намного удобнее, компактнее размещены фото и статья выглядит намного выгоднее..

vikont

vikont, я не понимаю, что вы хотите от меня услышать? Вы получаете точную копию страницы-источника. Парсите жуть — получаете жуть, парсите конфетку — получаете конфетку. А насчет слайдеров — думаю вы человек мало знакомый с понятиями CSS и Javascript. Я бы советовал вам с ними познакомиться, поскольку любой слайдер это то, что вы называете жутью. Именно CSS и Javascript(JQuery) делают из этой жути слайдер.
#7 [ЕСТЬ РЕШЕНИЕ] Парсер контента 23 ноября 2016 в 02:20

Если изображения не будут в слайдере, тогда статья будет выглядеть как гроздь винограда, где вместо виноградин буду миниатюры… Для справки в одной такой статье могут размещаться от 50 до 150 фотографий… не часто но бывают! Как вы себе представляете статью с таким количеством миниатюр? Или я что не так понял?
Если не сложно, можно скрин подобной статьи?

vikont

Вот приведенная вами в качестве примера страница. Вот вам ее скриншот:
Иллюстрация

В результате парсинга вы получите точно такую же страницу с точно такими же картинками и их расположением( плюс минус небольшая разница в CSS-оформлении вашего сайта и сайта-источника, хотя и это тоже решается при необходимости). И не будет никаких гроздей.
#8 [ЕСТЬ РЕШЕНИЕ] Парсер контента 23 ноября 2016 в 00:23

Речь идет о парсинге статей со вставками галерей! Например таких статей ПРИМЕР

vikont

На странице вашего примера наблюдается некоторый хаос оформления, но в целом идея понятна. Результатом парсинга данной страницы будет точно такая же страница за одним маленьким исключением — оригиналы изображений не будут загружены на сервер, а будут открываться с сайта-источника. На сервер будут загружены только миниатюры изображений, расположенные в теле статьи…
#9 [ЕСТЬ РЕШЕНИЕ] Парсер контента 20 ноября 2016 в 18:22

dwd, парсер достойный, за документацию по нему вообще огромный респект. Главное, чтобы не пропали потом.

Fuze

Спасибо, Fuze, пропадать я уж точно не собираюсь. Наоборот со временем выложу еще дополнений. Сейчас категорически не хватает времени довести до ума все накопившиеся разработки. Много чего имеется что отдал бы бесплатно, но поскольку писалось большинство для себя, то нужно доводить до ума перед тем как делиться с сообществом — собирать инсталляторы и т.д.
#10 [ЕСТЬ РЕШЕНИЕ] Парсер контента 20 ноября 2016 в 17:34

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

Нил™

Да я собственно и не претендую на роль умного. Тем более, что сайты стоят для меня далеко не на первом месте. Можете заглянуть в мой профиль посмотреть какое место занимает PHP в кругу моих интересов. У меня всего пара сайтов на первой ветке Инстанта и того функционала что есть в первой ветке мне для них хватило. Так что причин для общения не было просто.

Я переосмыслил эту ситуацию и пришел к такому выводу, что dwd делает то, что ему нравится — разрабатывает!

AndroS

AndroS, вы абсолютно правы. Я люблю тихо сидеть и кодить. И не люблю когда меня отвлекают от этого нудного для многих занятия.))))

В чём я не прав? В том, что не надо фальсифицировать и искусственно завышать показатели ради "правильных целей"? Есть система, я предлагаю её не дурить.

Нил™

Тут я абсолютно согласен. Коль правила существуют их нужно соблюдать. Я не рвусь к известности в сообществе, не нужна мне реклама того, что я делаю. В каталоге дополнений компонент есть, кому нужен найдут и купят. Единственный плюс который дает блог это возможность ответить на вопросы сообщества.

Я не знаком с автором, но судя по скриншотам, компонент понравился, я сам много времени потерял, когда искал возможность добавление контента по крону, а у автора еще много крутых опции реализованы и я удивился, что новый разработчик так хорошо разобрался в двойке. Если там не изменены системные файлы, то и обновления можно не потребоваться...

Evanescence

В двойке, если так можно выразиться, появилась культура программирования. Все разложено по полочкам, все структурировано. Разработчикам за это огромный респект. Писать под двойку стало легко и приятно. Так что за "еще много крутых опции реализованы" это скорее не мне а им спасибо. По поводу компонента — компонент полностью автономен — свои таблицы в БД, своя модель, свои методы и т.д. Изменений в коде системы нет, не затронут ни один системный файл. Из ядра использованы только базовые функции работы с БД и класс Uploader для загрузки изображений.
#11 [ЕСТЬ РЕШЕНИЕ] Парсер контента 19 ноября 2016 в 23:58

Это только название. Посмотрите что он умеет(парсит всё отовсюду). Демо доступ есть на сайте.

rookee

Хороший пример для сравнения, спасибо.

Итак, вот описание граббера, который вы считаете эталоном(в скобках для сравнения буду писать отличия):
1.Граббер умеет грабить c 90% всех существующих DLE сайтов не составляя шаблоны, а так же с любого другого с составлением шаблонов.(90% не предел, думаю что эта цифра будет даже немного выше. Неважно на какой CMS работает сайт, задания составляем для всех сайтов.)
Модуль работает в 3 этапа:
2. Собирает все новости из выбранного канала, если заданы шаблоны идёт по ссылке на полную новость, если нужно авторизируется и собирает данные.(в качестве источника ссылок используется не RSS-канал а любая страница в интернете или даже любой блок страницы, начиная с версии 1.28b настройки cURL вынесены в отдельный файл что позволяет настраивать и авторизацию на сайтах и другие мелочи. Для каждого URL или маски URL можно задать свои парметры cURL.)
3. Пользователь выбирает необходимые ему новости и если нужно изменяет.(Полная аналогия, любые действия со статьей перед публикацией в ручном режиме.)
4. Сохраняет полученные новости в базе при этом если в новостях встречаются картинки то производит действия указанные в настройках т.е. сливает все картинки на сервер и закрепляет за новостью если указано что загружать на сервер в противном случае заливает из на выбранное хранилище изображений. (Сохраняет полученные новости в базе и при необходимости скачивает картинки, все аналогично кроме поддержки хранилищ.)

Все следующие пункты опишу оптом.

Гибкая и детальная настройка позволяет использовать его для любых целей.
*Все картинки можно перезаливать на фотохостинги (канал сервера не используется)
*возможность не удалять определенные теги
*Встроеный синомайзер, вашы сайты не попадут в бан пс за копи-паст (Зато ваши пользователи ужаснутся(шутка))
*Совместимость с многими модулями DLE
*переводчик Google API
*авторизация на сайтах.(описано выше)

Для реализации подобных задач(начиная с версии 1.28с) реализованы функции пре- и постобработки. Функции вынесены в отдельный файл, в котором вы можете решить все необходимые задачи по интеграции с другими компонентами, выполнить любые нужные вам действия непосредственно перед публикацией материала на сайте и сразу же после его публикации. Таким образом может быть реализован пинг поисковых систем, постинг в соц-сети, автоперевод контента и другие функции.)

О парсинге по крону почему-то упоминания в описании нет, но он также присутствует в обоих случаях.
#12 [ЕСТЬ РЕШЕНИЕ] Парсер контента 19 ноября 2016 в 23:23

К сожалению получить демо доступ у автора не получилось. Как то он неохотно отозвался, в итоге не стал делать аккаунт для тестирования. Надеюсь, что кто нибудь уже пробовал его в работе.

letsgo

Уважаемый letsgo, я вам русским языком трижды сказал что нужно сделать чтоб получить доступ. 1 раз в этой теме и 2 раза в ЛС. Если ваш интерес настолько велик, что вам лень черкнуть 2 слова мне на почту, то не надо валить все на меня. Я не собираюсь создавать аккаунты на подставные почтовые адреса, кидаться паролями в ЛС и совершать прочие глупости. Я не красная барышня и не надо меня уговаривать, надо просто сделать то, о чем я вас попросил и получить то, что вам нужно.
#13 [ЕСТЬ РЕШЕНИЕ] Парсер контента 19 ноября 2016 в 22:01
Нил™, мне инстант стал интересен после выхода второй ветки. Первая ветка меня мало интересовала, дополнений к ней я не писал.и до сих пор знаю ее лишь поверхностно. А открывать рот не разбираясь в сути вопроса не в моих правилах.

letsgo, написать мне на почту и получить логин и пароль для тестирования.

rookee, первые 3 буквы рекламируемого вами домена сами по себе противоречат идее свободного парсинга. RSS-парсеров много, только все они позволяют вам парсить то, что вам дают парсить, а не то, что вы хотите. Надеюсь разница между этми двумя понятиями очевидна.

fincheck, я считаю, что личная переписка не должна быть достоянием общественности. Поэтому публикации заданных мне вопросов не будет. Какую-то выжимку вопросов я постараюсь сделать, но думаю, что для того, чтобы она получилась содержательной должно пройти больше времени.
#14 [ЕСТЬ РЕШЕНИЕ] Парсер контента 17 ноября 2016 в 23:23


Жаль! Значит вашим парсером нельзя парсить сайты, которые используют галереи в своих статьях. А такие сайты есть и довольно крутые.

Тогда другой вопрос, парсится ли видео и есть ли возможность выхватывать из него картинку для загрузки в системное поле photo? Инстант не имеет возможности генерить изображение из видео контента и приходится это делать вручную.

vikont

Ну как раз тут никто и не запрещает из полученной статьи посредством CSS и плагинов просмотра изображений делать галерею в статье. Все картинки из тела статьи будут загружены на сервер, а как их размещать и в чем открывать — дело фантазии. Добавление и замена CSS-стилей парсером поддерживается. Таким же образом и фотогалереи парсить можно, но речь насколько я понимаю шла о полноценных фотоальбомах, где каждая картинка — отдельный объект. Если уж на то пошло, то если эта возможность окажется настолько востребована, то ее можно будет реализовать — каждому изображению в БД соответствует 1 строка, как и при загрузке фото через стандартный загрузчик InstantCMS.

Видеовставки типа кодов youtube парсить можно, видеоролики — нет. Мне кажется InstantVideo уже придуман, к чему повторы… логичнее попросить разработчиков добавить этот функционал в видеокомпонент, чем из парсера статей лепить парсер видеороликов. Вы поймите, что в компонент можно напихать чего угодно, но от этого он не станет лучше, он станет тяжелее в использовании и прожорливее в плане потребления ресурсов.
#15 [ЕСТЬ РЕШЕНИЕ] Парсер контента 17 ноября 2016 в 21:23


Тысячи страниц бесплатного контента мне "рисует" датакол, с биржами поезд ушел.
Смена лицензии на другой домен возможна, процедура платная?

Pasechnik

Не знаю чей поезд и насколько далеко ушел, но то, что написано мной выше пока реально работает. Да, покупать машины и квартиры торгуя ссылками уже не выйдет. Но отбить 2к рублей запросто.

На данный момент процедура смены домена не предусмотрена. Во-первых это связано с некоторыми техническими сложностями, во вторых не было необходимости. Ну а наперед забегать не будем, время все покажет.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.