nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« : 11.11.2008, 18:12:05 » |
|
   Этот модуль позволяет отображать на вашем сайте содержимое другого сайта. Content Grabber вставляет не всю страницу, как это делает модуль wrapper, а лишь только ту часть информации на странице, которая вам необходима. Что модуль НЕ делает:- не пишет сграбленный контент в базу данных
- не грабит динамическое содержимое
- не собирает полный вариант материала (не берет интро и полный текст одновременно, если они на разных страницах)
Зачем нужен Content Grabber:- отображение у себя на сайте различных информеров (если нет возможность получить их иначе)
- отображение статичных данных - таблиц, расписаний
- придумайте сами
 Скачать | Демо ( источник контента) | Страница модуля на JЕD | Content Grabber на Внимание! Версия модуля 1.5.0 переименована в Content Grabber PQ Подробнее о версии здесь http://joomlaforum.ru/index.php/topic,46583.msg591405.html#msg591405Принцип работы и пример настройкиВ основе работы этого граббера лежит регулярное выражение, которое составлено таким образом, что позволяет забирать все, что находится между указанными параметрами (в настройках значатся как "Начальный тэг" и "Конечный тэг"). В качестве параметров могут выступать как отдельные тэги, так и простые текстовые символы (слова, комментарии кода). Опционально вы можете включить ваши параметры в конечный контент с помощью опции "Использовать тэги". Главное условие - ваши вводные параметры должны быть уникальными. Например, вы хотите сграбить контент, который находится в нескольких блоках, а параметры можно указать только опираясь на класс блока - вы получите только первый блок <div class="block">Content 1</div> <div class="block">Content 2</div> <div class="block">Content 3</div> из такой разметки получится забрать только блок с текстом Content 1Конечно возможно взять и все блоки, но для этого вам нужно будет изменить регулярное выражение Рассмотрим немного другой вариант разметки, при котором можно забрать все блоки, используя дополнительные настройки модуля: <ul><li>some here</li></ul> <div class="block">Content 1</div> <div class="block">Content 2</div> <div class="block">Content 3</div> <table><tr><td>some here</td></tr></table> В этом случае в качестве начального тэга следует указать </ul>, в качестве конечного <table>, параметр "Использовать эти тэги" ставим НЕТ (иначе они поломают разметку вашей страницы) - таким образом получаем все что находится между указанными нами тегами ... все три блока Бывают случаи, когда нельзя исключить начальный и конечный тэги, хотя они нам и не нужны. В таком случае используйте настройки "Текст/HTML перед кодом" и "Текст/HTML после кода". Сюда нужно будет вписать недостающие элементы. Для нашего примера, в случае, если "Использовать эти тэги" оставлена ДА в "Текст/HTML перед кодом" следует вписать <ul><li></li>, а в "Текст/HTML после кода" <tr><td></td></tr></table> Известные проблемыНе получается забирать контент, если в начальном или конечном тэге есть символ #
Советы- При настройке модуля отключайте кэширование у него в настройках или в шаблоне (если он используется)
- Для копирования нужных вам тэгов не пользуйтесь инструментами типа FireBug - они исправляют код
- Чтобы вывести сграбленный контент как материал Joomla используйте стандартный плагин mosloadposition для Joomla 1.0.х или loadposition для Joomla 1.5.x
История версийВерсия 1.4.6.3- добавлена возможность выбора стандартного шаблона Версия 1.4.6.2- добавлена возможность обновления через апдейтер joomla - добавлен параметр игнорирования недоступности сайта-источника работает это так: если у вас уже стоял и успешно работал настроенный модуль с включенным собственным кэшированием и при очередном обновлении контента (через заданный промежуток времени) сайт-источник оказался недоступен, то будет выведена старая информация с предыдущего обновления- исправлена ошибка с отправкой сообщения о проблемах на почту - добавлен новый тип оповещения (ни в модуль, ни на почту) - исправлены встроенные шаблоны (из-за обновления на источниках) Версия 1.4.6.1- устранена проблема с вырезанием тэгов при сохранении настроек Версия 1.4.6- о изменениях смотрите тутВерсия 1.4.5- Исправлена ошибка кэширования - Добавлен выбор способа оповещения о проблеме граббинга использование этой опции в шаблонах{mestype}1{/mestype} сообщение будет выводиться в модуль (как это происходит сейчас) {mestype}2{/mestype} отправляться на email {mestype}3{/mestype} оба способа сразу Версия 1.4.4- о изменениях смотрите тут Версия 1.4.3- Добавлен атрибут target со значением _blank (для открытия сграбленных ссылок в новом окне) Версия 1.4.2- Добавлен суффикс для класса модуля - Файл-кэш теперь указывается в настройках. Это решает проблему использования нескольких копий модуля Версия 1.4.1 - Исправлена проблема работы с кэшем - Устранен баг, при котором нужно было дважды обновлять страницу при первом использовании кэширования Версия 1.4Добавлена возможность использования готовых настроек для сайтов (шаблонов). Шаблон представляет собой XML файл, который необходимо загрузить в modules/mod_grabber/templates/ В комплект входит два шаблона. Версия 1.3.1- Исправлена неверная коррекция относительных ссылок Скриншоты настроек
|
|
|
|
« Последнее редактирование: 29.02.2012, 11:01:25 от nikonor »
|
Записан
|
|
|
|
| |
andragor
Захожу иногда

Репутация: +5/-0
Offline
Сообщений: 16
|
 |
« Ответ #31 : 05.01.2009, 23:50:53 » |
|
nikonorЭто оказалось не так просто, ведь начинается ссылка всегда с href=, а кончатся может, чем угодно. Промучившись, решил сделать несколько str_replace под каждое конкретное окончание, например: $oldbacklink2 = "\" title"; $newbacklink2 = "&partner=andragor\" rel=\"nofollow\" title"; $text = str_replace($oldbacklink2, $newbacklink2, $text); Если какой более оптимизированный вариант придумаешь - напиши, а то у меня совсем через одно место. Кстати, в процессе изучение удалось сократить твой mod_grabber.php почти на 0,5Kb без замеченной потери функциональности  Этот кусок был прописан в коде два раза: if (($linksrc<>'') || ($linkhref<>'')) { $oldlink = array($oldlinksrc, $oldlinkhref); $newlink = array($oldlinksrc.$linksrc, $oldlinkhref.$linkhref); $text = str_replace($oldlink, $newlink, $text); } Последний можно удалить. Спасибо тебе и удачного развития твоего модуля, ибо это Вещь! 
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #32 : 06.01.2009, 20:16:08 » |
|
Этот кусок был прописан в коде два раза: if (($linksrc<>'') || ($linkhref<>'')) { $oldlink = array($oldlinksrc, $oldlinkhref); $newlink = array($oldlinksrc.$linksrc, $oldlinkhref.$linkhref); $text = str_replace($oldlink, $newlink, $text); } Последний можно удалить. Код одинаковый, но, если внимательно посмотришь, выполняется при разных условиях. Так что удалять его не нужно. По хорошему-то его в функцию засунуть надо ... но это уж в следующей версии ...
|
|
|
|
|
Записан
|
|
|
|
quintus
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 31
i'm crazy about joomla!
|
 |
« Ответ #33 : 10.01.2009, 05:45:28 » |
|
ммм... всё вродебы отлично но как запустить два различный модуля в системе? у меня в английской версии если два опубликованных модуля используют кеш - выводится в обоих будет то, что успело раньше обновиться. прозреваю решение: отдельная копия кеш-файла для каждой копии модуля оО
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #34 : 10.01.2009, 23:08:53 » |
|
ммм... всё вродебы отлично но как запустить два различный модуля в системе? если два опубликованных модуля используют кеш - выводится в обоих будет то, что успело раньше обновиться.
принял к сведению, внес изменения ... качаем новую версию
|
|
|
|
|
Записан
|
|
|
|
Shturman
Захожу иногда

Репутация: +1/-0
Offline
Пол: 
Сообщений: 15
|
 |
« Ответ #35 : 17.01.2009, 18:54:01 » |
|
Встречный вопрос. Есть ли защита от данного грабера?
|
|
|
|
|
Записан
|
|
|
|
gorbi
Давно я тут
  
Репутация: +2/-1
Offline
Пол: 
Сообщений: 257
|
 |
« Ответ #36 : 17.01.2009, 19:24:35 » |
|
Встречный вопрос. Есть ли защита от данного грабера?
Давно мучает и меня подобный вопрос...
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #37 : 18.01.2009, 01:46:50 » |
|
Встречный вопрос. Есть ли защита от данного грабера?
наверное есть ...  но ребята с extensions.joomla.org подумали и решили не выкладывать его там, обосновав тем, что боятся как бы модкль не начали использовать для кражи контента. Я, на всякий случай, заявляю, что сделал модуль только из благих побуждений ... которыми , впрочем, вымощена известная дорожка 
|
|
|
|
|
Записан
|
|
|
|
gorbi
Давно я тут
  
Репутация: +2/-1
Offline
Пол: 
Сообщений: 257
|
 |
« Ответ #38 : 18.01.2009, 10:45:05 » |
|
наверное есть ...  но ребята с extensions.joomla.org подумали и решили не выкладывать его там, обосновав тем, что боятся как бы модкль не начали использовать для кражи контента. Я, на всякий случай, заявляю, что сделал модуль только из благих побуждений ... которыми , впрочем, вымощена известная дорожка  Парни, а где можно глянуть пример работы? в DEMO не увидел...
|
|
|
|
« Последнее редактирование: 18.01.2009, 11:23:39 от gorbi »
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #39 : 18.01.2009, 13:13:46 » |
|
именно в ДЕМО и можно увидеть самая правая колонка, модуль с названием Demo Grab Content ... туда идет новость с главной страницы Lenta.ru
|
|
|
|
|
Записан
|
|
|
|
gorbi
Давно я тут
  
Репутация: +2/-1
Offline
Пол: 
Сообщений: 257
|
 |
« Ответ #40 : 18.01.2009, 13:32:00 » |
|
именно в ДЕМО и можно увидеть самая правая колонка, модуль с названием Demo Grab Content ... туда идет новость с главной страницы Lenta.ru
Или я чего-то не понимаю, но там граббинг, там обычный рсс...т.е. при нажатии уходишь на Ленту
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #41 : 18.01.2009, 13:42:28 » |
|
никакого rss. модуль создан специально для того, чтобы брать контент с тех сайтов, на которых нет rss, но контент нужен ... ссылки остаются оригинальными, то есть все ссылки остаются такими же какими были в оригинальном контенте
|
|
|
|
|
Записан
|
|
|
|
gorbi
Давно я тут
  
Репутация: +2/-1
Offline
Пол: 
Сообщений: 257
|
 |
« Ответ #42 : 18.01.2009, 13:49:29 » |
|
никакого rss. модуль создан специально для того, чтобы брать контент с тех сайтов, на которых нет rss, но контент нужен ... ссылки остаются оригинальными, то есть все ссылки остаются такими же какими были в оригинальном контенте
Сэнкс, теперь понятно! Я думал речь идет о полной републикации
|
|
|
|
|
Записан
|
|
|
|
Nktz
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 33
|
 |
« Ответ #43 : 22.01.2009, 17:03:13 » |
|
Классный модуль! Спасибо! 2 таких у меня уже висят))) Но вот что-то у меня не выходит вот здесь. Хочу вытщить главную новость отсюда ru.government.kz вот код, до того фрагмента и после </ul> <div id='content'> <div id='center'> <div id='path'><a href="/site/news">Главная</a> > <a href='/site'>Разделы</a> > Новости </div> <div id='mainnews'><div>
<h2>Главное событие</h2> <a href='/site/news/main/2009/01/42'>Заявление Правительства Республики Казахстан, Национального Банка Республики Казахстан и Агентства Республики Казахстан по регулированию и надзору финансового рынка и финансовых организаций об основных направлениях экономической политики на 2009 год </a>
<span>20.01.2009</span> <div></div </div></div> <h2>Новости</h2> <div id='rubricslist'> <a href='/site/news'>Все новости</a> | <a href='/site/news/main'>Главные события</a> | <a href='/site/news/news_prem'>Премьер-Министр</a> | <a href='/site/news/authority'>Государственные органы</a> | <a href='/site/news/economics'>Экономика</a> | <a href='/site/news/regions'>Регионы</a> | <a href='/site/news/society'>Общество</a> | <a href='/site/news/integration'>Интеграция</a> | <a href='/site/news/world'>Мир</a>
</div>
<div id='news'> <div> <span>22.01.</span>2009 /<a href='/site/news/news_prem'>Премьер-Министр</a>
много вариантов тегов перепробовал, самый логичный это старт:<div id='mainnews'><div> или <h2>Главное событие</h2> конец: <h2>Главное событие</h2> все время выдает такую ошибку: Warning: Invalid argument supplied for foreach() in Z:\home\aksafari.kz\www\modules\mod_grabber.php on line 142 141ая }elseif(((@$file) AND ($usecache) AND ($fsize==0)) || (($usecache) AND ($go))){ на 142ой foreach( $grab->html[1] as $html ) Что я делаю не так?
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #44 : 22.01.2009, 17:34:09 » |
|
Для начала старт:<div id='mainnews'><div> Не пихайте ДВА тэга сразу. Только ОДИН тэг! Вышеприведенное значение работает (бывало и такое) только когда луна в козероге  Нужно задействавать опцию Использовать тэгиполучаем вот что url http://ru.government.kz/начальный тэг <div id='mainnews'>конечный тэг </div>Использовать тэги ДаТекст / HTML перед кодом оставляем пустымТекст / HTML после кода </div></div>Поясню. Нужный кусок кода - вот он <div id='mainnews'><div> <h2>Главное событие</h2> <a href='/site/news/main/2009/01/42'>Заявление Правительства Республики Казахстан, Национального Банка Республики Казахстан и Агентства Республики Казахстан по регулированию и надзору финансового рынка и финансовых организаций об основных направлениях экономической политики на 2009 год </a> <span>20.01.2009</span> <div></div> </div></div> Стартуем <div id='mainnews'>, чтоб корректно закончить нам нужно закрыть слой </div>, но модуль возьмет только первый попавшийся ему </div>. В этом случае имеем кривой код, рваный шаблон и все такое. Чтоб этого избежать нужно просто добавить недостающие тэги ... это мы и делаем вставив в html после кода </div></div> Дальнейшие настройки понятны, писать не буду. На всякий случай в атаче готовый шаблон с настройками
|
|
|
|
|
Записан
|
|
|
|
Nktz
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 33
|
 |
« Ответ #45 : 22.01.2009, 23:21:12 » |
|
Большое спасибо, заработало! только теперь новая проблема, ссылка не работает, хоть я и выставляю http://ru.government.kz пока на денвере, может дело в этом?
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #46 : 26.01.2009, 14:52:31 » |
|
у меня работает и на денвере
|
|
|
|
|
Записан
|
|
|
|
valikras
Осваиваюсь на форуме
 
Репутация: +0/-2
Offline
Пол: 
Сообщений: 66
уже более 4 лет осваиваюсь :)
|
 |
« Ответ #47 : 30.01.2009, 17:38:44 » |
|
К сожалению не получается скачать модуль, так как сайт ТС отключен хостером. Если если у кого есть Content Grabber, выложите, пожалуйста, версию для Joomla 1.5.x. UTF8 В гугле всё вроде пересмотрел, не могу найти....... П о ж а й л у с т а..... 
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #48 : 30.01.2009, 20:05:45 » |
|
поправил ссылки в первом посте. качайте
|
|
|
|
|
Записан
|
|
|
|
valikras
Осваиваюсь на форуме
 
Репутация: +0/-2
Offline
Пол: 
Сообщений: 66
уже более 4 лет осваиваюсь :)
|
 |
« Ответ #49 : 31.01.2009, 00:51:38 » |
|
поправил ссылки в первом посте. качайте
С П А С И Б О !!!!
|
|
|
|
|
Записан
|
|
|
|
valikras
Осваиваюсь на форуме
 
Репутация: +0/-2
Offline
Пол: 
Сообщений: 66
уже более 4 лет осваиваюсь :)
|
 |
« Ответ #50 : 31.01.2009, 01:34:05 » |
|
Нифига не выходит пишет >:(Site cannot be found!
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #51 : 31.01.2009, 01:39:18 » |
|
http://joomlaforum.ru/index.php/topic,46583.msg288425.html#msg288425
|
|
|
|
|
Записан
|
|
|
|
valikras
Осваиваюсь на форуме
 
Репутация: +0/-2
Offline
Пол: 
Сообщений: 66
уже более 4 лет осваиваюсь :)
|
 |
« Ответ #52 : 31.01.2009, 01:42:12 » |
|
http://joomlaforum.ru/index.php/topic,46583.msg288425.html#msg288425
а где этот allow_url_fopen???? извини за тупость
|
|
|
|
|
Записан
|
|
|
|
valikras
Осваиваюсь на форуме
 
Репутация: +0/-2
Offline
Пол: 
Сообщений: 66
уже более 4 лет осваиваюсь :)
|
 |
« Ответ #53 : 31.01.2009, 01:43:34 » |
|
Или помоги один раз, что-бы я раздуплился ... с с айта http://www.airport-borispol.kiev.ua/нужно вставить On-line табло міжнародних рейсів
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #54 : 31.01.2009, 01:47:12 » |
|
это настройки php можно проверить состояние в админке на вкладке Система
|
|
|
|
|
Записан
|
|
|
|
valikras
Осваиваюсь на форуме
 
Репутация: +0/-2
Offline
Пол: 
Сообщений: 66
уже более 4 лет осваиваюсь :)
|
 |
« Ответ #55 : 31.01.2009, 01:48:17 » |
|
это настройки php можно проверить состояние в админке на вкладке Система
сейчас посмотрю.......
|
|
|
|
|
Записан
|
|
|
|
valikras
Осваиваюсь на форуме
 
Репутация: +0/-2
Offline
Пол: 
Сообщений: 66
уже более 4 лет осваиваюсь :)
|
 |
« Ответ #56 : 31.01.2009, 01:58:56 » |
|
Выводит, только само расписания я не вижу.....может стили ихни нужно подключить....... блин, что-то не дотуплю.....
|
|
|
|
|
Записан
|
|
|
|
valikras
Осваиваюсь на форуме
 
Репутация: +0/-2
Offline
Пол: 
Сообщений: 66
уже более 4 лет осваиваюсь :)
|
 |
« Ответ #57 : 31.01.2009, 02:02:34 » |
|
nikonor  Ещё рас тебе огромное спасибо,.... то-что нужно!!!!! 
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #58 : 31.01.2009, 19:55:31 » |
|
на здоровье 
|
|
|
|
|
Записан
|
|
|
|
OParshin
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 5
|
 |
« Ответ #59 : 01.02.2009, 17:18:36 » |
|
Хороший модуль. Полезный.
А можно сделать так, чтобы ссылки, которые грабятся этим модулем открывались в новом окне?
|
|
|
|
|
Записан
|
|
|
|
nikonor
Завсегдатай
   
Репутация: +49/-0
Offline
Пол: 
Сообщений: 441
Content Grabber
|
 |
« Ответ #60 : 01.02.2009, 20:00:11 » |
|
Хороший модуль. Полезный.
спасибо А можно сделать так, чтобы ссылки, которые грабятся этим модулем открывались в новом окне?
Можно. Сделал. Качаем и первого поста
|
|
|
|
|
Записан
|
|
|
|
|