Само-проект, авто-лоадер торентов

Некоторое время назад, я уже возился с настройкой загрузчика для торентов. Использовал тогда rtorrent. Простое, хотя и не без недостатов, решение. А вот буквально вчера решил его усовершенствовать, что значит — «доточать» на предмет автоматической загрузки торентов.

Единственной проблемой, для данного решения — было найти подходящий трекер, который дает торенты без регистрации, чтобы минимизировать количество работы. В итоге нашел такой трекер, тут не пишу его урл, кто захочет тот и сам найдет, я уверен.

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

При написании этого дела возникло всего несколько проблем. Во-первых, почему то себ-сервер с «того конца» отдавал страницы в виде зип-файлов. Вероятно было включено сжатие. Мне же всячески не хотелось вставлять в скрипт CURL и тому подобную ерунду, не нужна она мне — так как ip динамический, поэтому пришлось взять любимую библиотеку, точнее php-класс loader (// Class ‘loader’ (rev.2005-02-18)
), позволяющий грузить страницы под «видом» пользователя.

В итоге получил html-ные страницы. Правда в UTF-8, которые также перекодировал имеющейся функцией. Функция также заемная, и достаточно сложная. После всего чего просто осталось отдать файлы на скормление рторренту. Запись закачанных файлов торентов ведется в mysql, в единственной таблице.

Вот пару примеров кода «разборщика»:

  $ldr = new loader();
  @$ldr -> load( "http://publikz.com/torrents" );
  $page = UTF8toWIN1251_entities( $ldr->page );
  //file_put_contents( "./tmp.html",$page );
 
  preg_match_all( 
 
                   "~\s*".
                   "\s*(<strong>(.*?)</strong>|".
                   "\s*<a href=\"(/bigtorr/(\d+)/.*?)\">(.*?)</a>)".
 
 
  "~msi", $page, $vv, PREG_SET_ORDER ); 
 
 
//   print_r( $vv );

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *