Греббер с bash.org.ru + плагин для Wordpress
PHP, Разработка 03.11.2007От нечего делать и практики ради - решил написать небольшой скрипт который грабит записи с БОРа и пихает их в базу. Скрипт был написан где-то за пол часа и представляет из себя следующую штуку:
- берется контент с главной страницы
- выбираются все записи (обычно их там 95 на странице)
- каждая запись проверяется есть ли она в базе по айди, который указан там на сайте
- если записи нет, то добавляем её
Данный скрипт нужно вешать на cron с интервалом - 2-3 раза в день, при этом с каждым днем ваша собственная база цитат будет автоматически наращиваться;)
Структура теблицы БД, её нужно создать вручную:
CREATE TABLE `bash_quotes` (
`id` int(11) unsigned NOT NULL auto_increment,
`bash_id` int(11) NOT NULL,
`text` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=96 ;
Таблица должна быть с кодировкой UTF8, иначе причется патчить скрипт.
Можно скачать дамп базки в которой уже есть немного цитат.
Так как скрипт сам по себе никакой особой пользы не несет, то в нагрузку к нему был разработан плагин для Wordpress, который доабвляет случайные цитаты в тело сообщения, либо в указанное в темплейте месте.
Для того чтобы вывести запись в теле сообщения, нужно добавить в любом месте поста код [ BASH.QUOTE], этот код будет автоматически заменен случайной записью из БОРа. Пример использования вы можете посмотреть в конце этого поста - при обновлении страницы прикол будет меняться.
Есть три момента:
- [ BASH.QUOTE] заменяется только одной записью при загрузке страницы, т.е. если вы поставите 5 штук [ BASH.QUOTE] на странице, то все они будут заменены одним и тем же приколом;
- Выдача может повторяться - так как это рандом, а не шаффл;
- Ну и последнее -между [ и BASH.QUOTE] пробел не нужен (если бы я написал без пробела - везде в тексте торчали бы приколы
)
Второй способ встроить цитату, это добавить код <?php bash_rand_quote() ?> в любое месте шаблона. Здесь ситуация иная - каждый такой кусок кода будет заменен своей случайной записью из базки. Пример этого можно посмотреть на этом же блоге, в правом нижнем углу заголовок “bash.live”, для этого редактировался файл footer.php в папке шаблона.
Исходники обоих скриптов можно скачать одним архивом: bash.zip.
В архиве два файла:
bash_grabber.php - граббер который вешаем на крон, в нем нужно настроить доступ к БД
bash_org_ru.php - плагин для Wordpress - небходимо скопировать в папку plugins и активировать в админке.
——————————————
Прошел популярный сейчас тест (слабо, думал будет больше):
——————————————
Случайная цитата с bash.org.ru:
Витёк: как отвинтить винт?
tr1Xen: как отматерить материнку?
Похожие записи:
- Анти-спам защита Wordpress: не опять, а снова
- Google Browser Sync - чудо-плагин для Firefox
- Получите первый спам
- Akismet - какаха
- 5 музыкальных композиций для работы




04.11.2007 в 00:31
Вова, сделай шото полезное
04.11.2007 в 02:50
Роман: Полезное для кого? Все что полезное и дельное я пускаю в оборот. Как любой здравомыслящий человек все что может приносить прибыль, я не буду вылаживать в общее, я вылаживаю просто приколы.
05.11.2007 в 13:29
У баша есть замечательный RSS. Таким образом можно избежать риск смены дизайна главной страницы.
05.11.2007 в 13:39
Это конечно же ясно, РСС замечательный, но он вещает только цитаты с главной страницы.
А в коде, который я написал, можно простой заменой урла и слегка изменив код заставить скрипт забирать цитаты, например, из бездны.
05.11.2007 в 14:10
Только что прошел этот тест на мамбе. В результате 437 баллов. http://www.corp.mamba.ru/test/widget.phtml?id=2618
Довольно хороший тест, который проверяет опыт работы с ПХП, но не уверен что у них используется все эти тонкости языка и отличий между 4 и 5 версиями.
05.11.2007 в 14:17
2dimat:
Силач!
Надо и мне подтягивать 5-й пхп
Там еще есть много вопросов которые косвенно к пхп относятся. Например работа с СВН из консоли и др.
05.11.2007 в 14:19
Да, команды СВН я тож не все знал, только некоторые. В основном работаю то из SVT Tortorise. Ну и не уверен в некоторых вопросах по линуху.
10.11.2007 в 22:42
[BASH.QUOTE]
29.11.2007 в 01:10
О спасибо за статейку! Давно искал такой граббер.
29.11.2007 в 10:52
2dimon: в комментариях мой плагин не работает ;))
2Den: You are welcome
17.12.2007 в 20:46
izvenite no nam nado sdelat test
vi ved ne bydete protiv admini
17.12.2007 в 20:59
zapalyt, Не совсем понял о чем ты
17.02.2008 в 02:06
А если не секрет - какие именно изменения в коде скрипта нужны для того, что бы забирать цитаты не только с главной страницы, а еще и с других? (как вариант со страницы “Случайное”)
20.02.2008 в 11:30
Судя по внешнему виду, нужно просто заменить строку
$content = file_get_contents(”http://bash.org.ru”);
на
$content = file_get_contents(”http://bash.org.ru/random”);