Делаем новости на сайте
Как и обещал, по-тихоньку начинаю заполнять главную страницу (морду) сайта. Решил начать с новостных лент. Это сделает вид морды не таким уже скучным, и плюс ко всему, люблю я на обеде почитать новости, а чтоб не рыскать в поисках интересующих меня тематик, очень удобно собрать их у себя на сайте. Частенько, кстати, на различных программерских форумах новички вопрошают, дескать, как бы так сделать, чтоб новости сами собой появлялись на нашем сайте? Опишу один способ. Существует в интернете множество новостных сайтов, или порталов с новостными разделами. Помимо чтения новостей непосредственно на самом сайте, этими же сайтами предоставляются RSS-ленты (RSS-feeds). Что такое рсс, думаю, не стоит объяснять. И так, делаем в базе данных пару master-detail табличек (источники, и сами новости), берем несколько интересующих нас фидов (я взял с яндекса), пишем робота, который будет читать из таблиц источников URL этих фидов (на самом деле, можно было и в php-файле держать в виде массива — дело вкуса), затем получать по этому URL и парсить RSS-файл, содержимое которого представляет собой XML-документ, и ставим этого робота на график. Я поставил ежечасно. Теперь самое приятное — делаем отображение новостей на нашем сайте. Делаем выборку последних новостей, и отображаем с красивым оформлением. Потом меня посетила мысль сделать так, чтобы последний пост в блоге отображался на морде в такой же манере, как и новости. Попутно узнал о теге <!—more—> в WordPress’e. Это для того, чтоб на главной странице блога не отображался весь пост, а только первая его часть, как раз по то место в тексте, где встречается этот тег. В месте разрыва на главной странице помещается ссылка Читать далее, перейдя по которой попадаем на страницу поста, где он опубликован уже в полном объеме. Попутно узнал, что у этого тега есть расширенное применение: можно написать <!—more И в этот момент… —>, и тогда вместо слов Читать далее в ссылке будет эта фраза «И в этот момент…». Но лично я особой эстетики в этом не нахожу.
Еще немножко о SEO. Поисковые системы не любят дублирующий контент, плагиат, зеркала, сателлиты, дорвеи, и всячески пытаются с ними бороться накладыванием на злоупотребляющих различных непот-фильтров, посылкой в бан или выпадом из индекса. И вряд ли тому же яндексу понравится, если он обнаружит фрагменты своих лент на чужом сайте. Другое дело, если этот сайт разместил ссылку на источник. Именно так я и поступил. Яндекс останется доволен, а я смогу почитать полную версию заинтересовавшей меня новости. Кроме того, все новости заключил в тег <NOINDEX> — это предотвратит учет поисковыми роботами всех ссылок, находящихся внутри этого тега, и как следствие, передачу индексов цитирования от меня и без того крутому яндексу.
В планах дальнейшего оживления морды — прикрутка курсов валют, прогноза погоды, тв-передач и радио-эфиров.
И еще на последок. Где-то с неделю назад ко мне заходил первый спам-бот и оставил сообщение через комментарии. Уж не знаю, как они меня нашли, я пока ни в каких поисковиках не регистрировал сайт.
Решил ещё раз повторить…
Эта строчка вызвала у меня громадный интерес…..
«пишем робота, который будет читать из таблиц источников URL этих фидов»
Расскажите пожалуйста по подробнее..
так собственно, методика такая же, как и в парсере тв-программы.
берем новостную ленту, например, новости науки на яндексе
http://news.yandex.ru/Russia/science.rss
получаем контент
парсим xml формат
далее делаем цикл по коллекции элементов RSS
точно также две master-detail таблицы, одна — заголовки новостных лент, вторая — строки RSS (сами новости). функция process_item — аналог process_programme из парсера тв-программ.
другие новостные ленты можно найти также на яндексе. или еще где.
ОК… А можно выложить именно Ваш вариант……
А как всё таки парсятся картинки….
Думаю, что эта информация должна размещаться здесь….
Идея простая, робот, который парсит новостные ленты и обновляет их на сайте, загружает страницу по ссылке из ленты, парсит ее, находит ссылку на картинку, и сохраняет файл картинки в папке с изображениями.
Можно Вас попросить выложить пример кода, чтобы посмотреть как это выглядит…
Сегодня выложу… если до полуночи домой попаду)
Отлично! Выразил Вам свою благодарность ;)
Я решил сохранять картинки в формате YYYYMMDD_ID, чтоб потом легко было удалять старые картинки, но пока что необходимости в этом нет — средний размер картинки 6Кб. На некоторых страницах нет картинки, поэтому, если робот ее там не нашел, то и на диске файла не появится.
Ну а изобразить страницу с новостями на своем сайте, имея данные в базе и картинки на диске — дело техники.
ps квадратные скобки в примере [] нужно заменить на треугольные < > — у вордпрессовского плагина подсветки синтаксиса какие-то нелады с треугольными скобками.
И всё таки можно выложить Ваш скрипт здесь целиком в архиве. Моя благодарность будет безграничной :)
В плане SEO есть ли смысл закрывать ссылки на Яндекс тегом nofollow
Отвечу за автора (он сейчас очень занят).
Официальной информации о том, учитывает ли Яндекс аттрибут nofollow нет, но и против него он ничего не имеет. Вердикт таков: nofollow можно использовать без какого-либо опасения санкций со стороны Яндекса. Однако, злоупотреблять им не стоит, иначе гугл может счесть ресурс линкопомойкой и сделать что-нибудь нехорошее. Например, понизить в выдаче или списать PR.