Joomla портал
seo seo Subscribe
seo
0
seo

В следующий раз пользователь просто зайдет на сайт-

источник и о нашем сайте забудет. Ведь так? Поэтому желательно написать

граббер новостей, который будет подключаться к сайту-источнику,

«забирать» новость и выводить ее на нашем сайте в нашем дизайне.

Приступим к написанию подобного сценария. Создание граббера я буду

иллюстрировать на примере сайта itnews.com.ua. Заметим, что HTML-код у

других сайтов будет иным, поэтому с остальными сайтами данный вариант

работать не будет. Но по «образу и подобию», изменив пару строк кода, вы

сможете адаптировать данный пример для любого новостного сайта.

Идея заключается в следующем. Перейдите по любой ссылке, например по

http://itnews.com.ua/30519.html

Откройте исходный код загруженной страницы. Вы увидите, что статья

начинается тегом , а заканчивается тегами . Вы уже

уловили идею? Нам остается всего лишь с помощью функции file о

получить HTML-страницу с новостью и убрать весь лишний код до тега и

после тегов . Конечно, также понадобится удалить все

HTML-теги (кроме и ) из текста статьи, поскольку они могут не

вписываться в дизайн нашего сайта. Как видите, все очень просто. Напишем

такой сценарий (пусть он будет называться news.php, листинг 16.4).

// Получаем Web-страницу с новостью

// Переменная $и содержит URL страницы

$f=joinr
·, file($u));

// Начало новости

$begin=strpos(strtolower($f), ««, 0);

// Конец новости

$end=strpos (strtolower ($f), ,

·, $begin);

204

Часть IV. Разработка собственной CMS

11 Вырезаем то, что нам нужно — текст новости

$txt=substr($f, $begin, $end-$begin);

// Некоторые сайты используют кодировку K0I8-R, поэтому

// данная строка может понадобиться для перекодирования из K0I8-R

// в windows-1251

// $txt = convert__cyr__string($txt/,,k,,/,,w») ;

// Удаляем все теги, кроме и

$txt = strip_tags($txt, ,г);

// Выводим текст новости

echo $txt;

?>

Граббер можно вызвать так:

http://localhost/news.php?u=http://itnews.com.ua/30519.html

Результат работы сценария представлен на рис. 16.3.

Рис. 16.3. Результат работы граббера новостей

Глава 16. Работа с RSS: получаем новости на сайт 205

Но это еще не все. Ведь на главной странице сайта все равно у нас выводятся

ссылки на сайт-источник новостей, а не на сценарий news.php. Поэтому

сейчас вернемся к тому месту, где вы подключали сценарий импорта новостей:

$page = join(·’,file(«http://$SERVER_NAME/import.php»));

Переменная $txt содержит ссылки на сайт-источник, которые нужно

заменить ссылками на наш файл:

// Укажите свой адрес сайта

$page = str_replace(‘http://’,

‘http://localhost/news.php?u=http://¦, $page);

Все, теперь наш граббер полностью готов к использованию. Вам остается

импортировать его в дизайн своего сайта. Конечные результаты его работы

приведены на рис. 16.4 и 16.5.

Рис. 16.4. Импорт списка новостей: конечный результат

206

Часть IV. Разработка собственной CMS

Рис. 16.5. Импорт новости

Примечание

Наш граббер новостей никак не нарушает авторские права, поскольку мы

не скрываем источник новостей: мы честно отображаем источник новостей

и не скрываем оригинальные адреса новостных статей (их можно увидеть в

строке адреса). Ведь можно было бы написать сценарий, который «сграбит»

все новости в базу данных, а потом будет выводить информацию из нее,

тем самым подавая их в виде наших собственных новостей. Но так

поступать не следует, поскольку то, что мы сделали, считается перепечаткой с

сохранением авторских прав, а второй вариант будет их нарушением.

ГЛАВА 17

Интеграция CMS

с LiveJournal

17.1. Что такое «живой» журнал

Живой журнал (LiveJournal) — простое и бесплатное средство для общения в

Интернете. Он предоставляет вам следующие сервисы: частный дневник (его

никто не увидит, кроме вас), блог (открытый сетевой дневник, который

может прочитать кто угодно) и фотогалерею.

Для регистрации LiveJournal нужно зайти на сайт http://www.livejournal.com/

и создать бесплатную учетную запись (рис. 17.1).

На все про все (дневники и фотографии) вам отводится 1 Гбайт (!) дискового

пространства.

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
seo
5th Фев 2011
Теги:
seo

Написать ответ

seo
 
Все права защищены © 2023 Joomla портал
 
 
seo