Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Импорт новостей rss, полностью, как? 
:(
    Опции темы
p17DMITRY
Дата 1.6.2005, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 13.5.2004
Где: Москва

Репутация: нет
Всего: нет



Вот такая задачка, нужно испортировать новость из rss канала полностью. Т.е. не только заголовок и вырезку из статьи, но и саму статью тоже.
Я себе это представляю примерно так: импорт собственно xml с заголовком, вырезкой и т.п., потом идем по ссылке, выбираем оттуда сам текст статьи, выбрасываем весь основной мусор и записываем то, что получилось в БД. Но такой способ подойдет, если импортировать с одного сайта. А если нужен импорт со многих? Неужели писать под каждый сайт отдельно? smile
Или есть какой-то другой способ?
Может быть есть какие-либо скрипты, которые такое делают?
Подскажите, пожалуйста. smile
Или если у кого-то есть немного времени, может быть даже примерчик какой найдется? smile
PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 2.6.2005, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



http://spectator.ru/technology/web-building/RSS_for_dummies

Почитай, очень хорошо пишет. А там далее по ссылкам.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Irokez
Дата 2.6.2005, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Цитата(p17DMITRY @ 1.6.2005, 21:08)
Неужели писать под каждый сайт отдельно?

да, но я бы сделал одну функцию, которой передавались бы параметры отличительных особенностей сайта, напр. строки между которыми вырезать новости или номера таких строк
PM   Вверх
p17DMITRY
Дата 2.6.2005, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 13.5.2004
Где: Москва

Репутация: нет
Всего: нет



Спасибо за ссылку, я там раньше был, но не углублялся вглубь, а зря.
С функцией тоже грамотно. Сейчас разбираюсь со всем этим, когда доделаю, выложу код и дам ссылку на то, где это работает.
Думаю, сегодня.
PM MAIL WWW ICQ   Вверх
p17DMITRY
Дата 2.6.2005, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 13.5.2004
Где: Москва

Репутация: нет
Всего: нет



Вроде разобрался с вырезанием новости со страницы, вот код:
Код

$link = "http://www.networkworld.com/news/2005/060105-mytob-worm.html?fsrc=netflash-rss";
$handle = fopen($link, "r");
$contents = '';
while (!feof($handle)) {
  $contents .= fread($handle, 8192);
}
fclose($handle);

function xmf($string, $tag, $tag2) {
while(true):
//начало тэга$start++;

$start = strpos($string, "<".$tag, $stop);
if ($start === false)
break;
//начало контента
$start = strpos($string, ">", $start);
if ($start === false)
break;
//конец контента
$stop = strpos($string, "<".$tag2.">", $start);
if ($stop === false)
break;
//вырезаем контент
$result[] = substr($string, $start, $stop - $start);
endwhile;
return $result;
}

$tag = "!--startindex--";
$tag2 = "!--stopindex--";

$xmf = xmf($contents, $tag, $tag2);

Если что-то (или все) написано криво, подскажите как правильно написать smile
Теперь нужно всё это вместе с инфой из rss записать в mysql. Начну, посмотрим что из этого получится.
Думаю, как лучше организовать базу... пока получается одна таблица:
1. id
2. category - категория новостей (их будет много)
3. title
4. headline
5. link
6. article - собственно текст статьи, который вырезался
7. date_created - дата создания (только вот не знаю как ее из rss выдрать, есть там вообще такое?)
8. date_added
Нормально?

Первая проблема: при добавлении нужно проверять, нет ли уже такой новости в БД. Как лучше это организовать?

Это сообщение отредактировал(а) p17DMITRY - 2.6.2005, 21:19
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0698 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.