Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скрипт скачивания новостей
 
 автор: Andron   (10.08.2004 в 22:32)   письмо автору
 
 

Здравствуйте.
Может Вы знаете о таких скриптах, пожалуйста раскажите что ето такое и с чем едят.

   
 
 автор: Кузнецов М.В.   (10.08.2004 в 22:48)   письмо автору
 
   для: Andron   (10.08.2004 в 22:32)
 

Вы имеете ввиду скрипт, предназначенный для портирования новостей (погоды и т.д.) с других сайтов?

   
 
 автор: Andron   (10.08.2004 в 22:58)   письмо автору
 
   для: Кузнецов М.В.   (10.08.2004 в 22:48)
 

Да, что-то такое.
Дело в том, что сделал новосную ленту (с Вашей помощью, большое спасибо), но тут сам админ должен добавлять.
А как бы сделать так, чтобы автоматом скачивалось в бд, или что-то похожее?

-----------------
Как я думаю, чтобы скачать откуда-то новости, там должен быть выложен файл с ними (RSS, txt,...).
Дальше нам нужно его скачать себе на сайт и импортировать в бд.
И уже стандартно выбирать и показывать.
Правильно ли я размышляю?

   
 
 автор: cheops   (10.08.2004 в 23:31)   письмо автору
 
   для: Andron   (10.08.2004 в 22:58)
 

Дело не сложное, но кропотливое и сильно зависит от дизайна сайта. Алгоритм прост: сначала загружаем содержимое сайта со страницы жертвы при помощи функции:
<?php
   
function openpage($link)
   {
      
$fd fopen($link"r");
      
$text="";           
      if (!
$fd) echo "Запрашиваемая страница не найдена";
      else
      {
         while (!
feof ($fd))
         {
            
$text .= fgets($fd4096);
         }
      }
      
fclose ($fd);   
      return 
$text;   
   }
?>

Которая принимает единственный параметр $link, являющийся URL ресурса, а возвращает HTML-код этой страницы ($text).
Второй этап заключается в том, чтобы при помощи подручных средств (чаще регулярных выражений) извлечь необходимую информацию.

   
 
 автор: glsv (Дизайнер)   (10.08.2004 в 23:33)   письмо автору
 
   для: Andron   (10.08.2004 в 22:58)
 

>как бы сделать так, чтобы автоматом скачивалось в бд, или что-то похожее?

Вообще задачка хорошая. Но очень и очень муторная.
Дело здесь вот в чем.

Допустим, есть сайт, с которого вы хотите брать новости. Также допустим, сайт не предоставляет никакого интерфейса для того, чтобы с него автоматом забирали новости. Тогда остается действовать в лоб.

Открываем страницу этого сайта с новостями. Смотрим HTML-код. И пытаемся задать правила для автоматического "вырезания" новостей из текста. Т.е. задача – это вырезать нужные части текста из страницы HTML. Регулярными выражениями, строковыми функциями.
Но вот самая большая гадость, что как только на этом сайте сменится дизайн, хотя бы чуть чуть – очень большая вероятность, что импорт с этого сайта работать перестанет.
И для каждого сайта придется писать свой собственный сборщик.

В общем не очень приятная задачка.
Ну как? Все еще интересует :) Тогда давайте думать.

PS: Но я все таки за ручные новости.

   
 
 автор: cheops   (10.08.2004 в 23:50)   письмо автору
 
   для: glsv (Дизайнер)   (10.08.2004 в 23:33)
 

>Но вот самая большая гадость, что как только на этом сайте
>сменится дизайн, хотя бы чуть чуть – очень большая
>вероятность, что импорт с этого сайта работать перестанет.
У Дизайнеров есть слабость - у них стилевые таблицы из приложения в приложения одинаково называются :))) Можно на этом сыграть.

PS Часто администрация отслеживает загрузку новостей PHP-скриптами в этом случае придётся подделывать USER_AGENT.

   
 
 автор: Andron   (10.08.2004 в 23:51)   письмо автору
 
   для: glsv (Дизайнер)   (10.08.2004 в 23:33)
 

Сайт делаю не для себя, есть закажчик.
Сказал нужно то-то и то-то. Написал. Теперь он оплатил хостинг и я выставляю.
Закажчик посмотрел, подумал =( и написал мне (когда уже всё сделано):
" И еще можете ли Вы создать скрипт на скачивание новостей с другого сайта. ( в принципе этот скрипт я смогу достать через Weblancer.net уже есть конкретные предложения) Новости я планирую скачивать с http://www.turkmenistan.gov.tm/ только предварительно мне нужно будет с ними договориться. "

8-(

Как там он договорится? Как нужно будет импортировать, сам не знаю....
Что написать ему? Я бы хотел сам сделать всё. И думаю, что справлюсь.

   
 
 автор: cheops   (11.08.2004 в 00:02)   письмо автору
 
   для: Andron   (10.08.2004 в 23:51)
 

Ну тогда наверное всё проще... если они предоставляют такой сервис - на вас будет валится либо строка с новостями разделёнными символом переноса строки, либо они предоставят доступ к своей базе данных...

PS В любом случае, если вдруг всё окажется печально и новости нужно будет выуживать из HTML-файла вы можете смело обращаться к нам - поможем...

   
 
 автор: Andron   (11.08.2004 в 00:10)   письмо автору
 
   для: cheops   (11.08.2004 в 00:02)
 

>PS В любом случае, если вдруг всё окажется печально и
>новости нужно будет выуживать из HTML-файла вы можете смело
>обращаться к нам - поможем...

Спасибы. Вот большое Вам спасибо за Вашу нелегкую работу.
У Вас тут очень уютно. Зайду обязательно.

   
 
 автор: Кузнецов М.В.   (11.08.2004 в 09:46)   письмо автору
 
   для: glsv (Дизайнер)   (10.08.2004 в 23:33)
 

Часть сайтов предоставляет сервис для закачки новостей, погоды и т.д.

   
 
 автор: BOleg   (08.06.2005 в 11:57)   письмо автору
 
   для: Кузнецов М.В.   (11.08.2004 в 09:46)
 

Вот именно этим я и занимаюсь сейчас. Вырезаю из HTML кода, сначала нахожу
ссылки заголовков, потом по ссылкам иду за текстом. Работа понятная, но трудная, так как я слаб в регулярных выражениях все делаю функциями strpos() и substr(),
но бывают непонятные ситуации. Вроде бы начальные и конечные точки для выбора текста указанные мной присутствуют на сайте, но скрипт их не ловит.
Может действительно использовать регулярные выражения? Что скажите?

И хочу сказать комплемент. Очень хороший форум и сайт в целом, купил Вашу
книгу (PHP5 практика создания вебсайтов) мне понравилась. Спасибо.

   
 
 автор: KPETuH   (08.06.2005 в 13:11)   письмо автору
 
   для: Кузнецов М.В.   (11.08.2004 в 09:46)
 

Исли можно то кинте кто-нить адреса таких сайтов

   
 
 автор: cheops   (08.06.2005 в 21:37)   письмо автору
 
   для: KPETuH   (08.06.2005 в 13:11)
 

Этого добра (ссылок) можно найти, например, тут http://www.kanban.ru/catalog.asp.

   
 
 автор: OZ   (08.06.2005 в 23:53)   письмо автору
 
   для: Andron   (10.08.2004 в 22:32)
 

А не судьба ссылку на эти новости поставить? Я вообще категорически против любого нарушения авторства. Но тут заказ - другое дело... У функции strip_tags есть "родственники" по имени - можно всё ненужное вырезать.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования