Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: RSS лента

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Jampire
Отправлено: 09 Апреля, 2011 - 21:56:18
Post Id



Гость


Покинул форум
Сообщений всего: 106
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Пытаюсь исправить RSS файл lostfilm, очистить от ненужного мне мусора, и вывести его (у них некорректно ссылки пишутся в нем)
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  /**********************************************************
  3.   * Parse XML data into an array structure                 *
  4.   * Usage: array parse_rss ( string data )                 *
  5.   **********************************************************/
  6.  function parse_rss($reg_exp, $xml_data) {
  7.      preg_match_all($reg_exp, $xml_data, $temp);
  8.      return array(
  9.          'count'=>count($temp[0]),
  10.          'title'=>$temp[1],
  11.          'link'=>$temp[2],
  12.      );
  13.  }
  14.  
  15.  /**********************************************************
  16.   * Parse Array data into an HTML structure                *
  17.   * Usage: string parse_rss ( array data )                 *
  18.   **********************************************************/
  19.  function output_rss($pattern, $rss_data) {
  20.      for($i=0; $i<$rss_data['count']; $i++) {
  21.          $temp .= sprintf($pattern,
  22.              $rss_data['link'][$i],
  23.              $rss_data['title'][$i]
  24.          );
  25.      }
  26.      return $temp;
  27.  }
  28.  
  29.  /**********************************************************
  30.   * Settings                                               *
  31.   **********************************************************/
  32.  $url = 'http://lostfilm.tv/rssdd.xml';
  33.  
  34.  $reg_exp  = '#<item>.*?<title>(.*?)</title>.*?';
  35.  $reg_exp .='<link>(.*?)</link>.*?';
  36.  $reg_exp .='</item>#si';
  37.  
  38.  $pattern = '<a href="%s">%s</a><br>';
  39.  
  40.  /**********************************************************
  41.   * Main script                                            *
  42.   **********************************************************/
  43.  if ( $xml_data = file_get_contents($url) ) {
  44.      $rss_data = parse_rss($reg_exp, $xml_data);
  45.      echo output_rss($pattern, $rss_data);
  46.  }
  47.  /**********************************************************
  48.   * The END                                                *
  49.   **********************************************************/
  50.  ?>

Таким скриптом я получаю ссылку к примеру:
CODE (html):
скопировать код в буфер обмена
  1. http://lostfilm.tv/download.php/3130/Desperate.Housewives.S07E17.HD.rus.LostFilm.TV.mkv.torrent

Есть еще возможность вывести ссылку:
CODE (html):
скопировать код в буфер обмена
  1. http://lostfilm.tv/details.php?id=3130&hit=1

Не знаю, с какой удобнее вытащить ID
Задача: вытаскивать ID торрента (3130 это он) и добавить его к ссылке ввиде ?id=3130
конечная ссылка должна выглядеть так:
CODE (html):
скопировать код в буфер обмена
  1. http://lostfilm.tv/download.php/3130/Desperate.Housewives.S07E17.HD.rus.LostFilm.TV.mkv.torrent?id=3130

или
CODE (html):
скопировать код в буфер обмена
  1. http://lostfilm.tv/download.php?id=3130&Desperate.Housewives.S07E17.HD.rus.LostFilm.TV.mkv.torrent

Тот кто сможет мне помочь - награжу спасибкой большой Хорошо

(Отредактировано автором: 09 Апреля, 2011 - 22:11:59)



-----
не будите во мне зверя!!! он и так не высыпается...
 
 Top
grefon
Отправлено: 10 Апреля, 2011 - 02:02:57
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2.  function output_rss($pattern, $rss_data) {
  3.      for($i=0; $i<$rss_data['count']; $i++) {
  4.          $temp .= sprintf($pattern,
  5.              $rss_data['link'][$i],
  6.              $rss_data['title'][$i]
  7.          );
  8.      }
  9.      return preg_replace("|download.php\/([0-9]{1,5})\/(.*?)torrent|si", "download.php/\\1/\\2torrent/?id=\\1", $temp);
  10.  }
  11.  


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
Jampire
Отправлено: 10 Апреля, 2011 - 10:51:58
Post Id



Гость


Покинул форум
Сообщений всего: 106
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Все ОК
но еще вопрос
При нажатии на ссылку - скачки не будет
При вставке ссылки в URL - пойдет нормально.
Это такая защита что-ли?
Можно ли это как то исправить?

replace немного переписал (сейчас ссылка получилась в точности как на сайте)
PHP:
скопировать код в буфер обмена
  1. return preg_replace("|download.php\/([0-9]{1,5})\/(.*?)torrent|si", "download.php?id=\\1&\\2torrent", $temp);

(Отредактировано автором: 11 Апреля, 2011 - 21:04:11)



-----
не будите во мне зверя!!! он и так не высыпается...
 
 Top
Jampire
Отправлено: 11 Апреля, 2011 - 21:04:22
Post Id



Гость


Покинул форум
Сообщений всего: 106
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




ап


-----
не будите во мне зверя!!! он и так не высыпается...
 
 Top
Viper
Отправлено: 12 Апреля, 2011 - 07:56:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Jampire не тестировал, но есть подозрение что lost проверяет рефферер с которого запросили контент.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Jampire
Отправлено: 12 Апреля, 2011 - 14:53:11
Post Id



Гость


Покинул форум
Сообщений всего: 106
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Viper если вставить ссылку просто в URL и нажать ОК - все нормально скачает.
Можно ли это как то с имитировать?
(Добавление)
Прикрепляю полный скрипт:
Спойлер (Отобразить)

Прикол в том, что некоторые ссылки работают при клике / некоторые нет.

(Отредактировано автором: 12 Апреля, 2011 - 14:59:07)



-----
не будите во мне зверя!!! он и так не высыпается...
 
 Top
Viper
Отправлено: 12 Апреля, 2011 - 15:16:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Jampire нужно поотслеживать firebug'ом что отсылается при запросе файла. и полностью симмитировать его. Можен у них на странице ещё JS какой что-то чекает.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Jampire
Отправлено: 12 Апреля, 2011 - 17:40:30
Post Id



Гость


Покинул форум
Сообщений всего: 106
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Viper, пробовал поставить firebug, но в нем самом не разобралсяНедовольство, огорчение


-----
не будите во мне зверя!!! он и так не высыпается...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB