<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; JS: Автокачалка сериалов с LostFilm.tv]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5228&amp;type=atom" />
	<updated>2010-12-01T18:48:16Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5228</id>
		<entry>
			<title type="html"><![CDATA[Re: JS: Автокачалка сериалов с LostFilm.tv]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=42381#p42381" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>jite пишет:</cite><blockquote><p>1) Скрипт должен качать <strong>все</strong> торренты из ленты, содержащие ключевые фразы массива films.<br />2) Скрипт запускается примерно раз в день по требованию или заданию.<br />3) Samurize показывает данные о найденном при последнем срабатывании скрипта.<br />Я правильно понимаю?</p><p>off: А что делают кнопочки «как бы M» и «как бы про Flash» (по обе стороны от next-prev блока) в NP++?<br />В Омске сейчас довольно холодно. Мда...</p></blockquote></div><p>1) В моем случае качает все торренты но не 720p, потому как на мониторе не видно особой разницы. Мне хватает.</p><p>2) Скрипт надо запускать или самому или давать указания планировщику (At, nnCron ...). Я использую Samurize, там задается интервал обновления скрипта. Очень удобная штука. Что бы понять, лучше вам ознакомится с программой лично, сразу все поймете. У меня обновления 1 раз в час.</p><p>3) Вообще Samurize имеет свой конструктор. Он интуитивно понятен и легок в освоении. Было бы желание. Здесь я не описываю как с ним подружить мой скрипт, здесь не об этом. Вкраце так: Скрипт пишет 2 файла. Один просто с названиями сериалов попадающих под маску, и находящихся в данный момент в ленте новостей. В Samurize просто стоит поле, в котором отображается текстовый файл. Кстати возможно всякие логи выводить прямо на рабочий стол. Во второй файл складываются ссылки на изображения. Тут уже к Samurize подключается небольшой скриптик, который эти ссылки обрабатывает.<br />Если интересно, почитайте о программе в интернете, информации достаточно и работает стабильно. У меня вылетала всего 2 раза за год использования. Да и если она вылетела, сразу видно, так как рабочий стол пустеет. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p><strong>Про NP++</strong><br /><strong>&quot;как бы M&quot;»</strong> - плагин <a href="http://sourceforge.net/projects/snippetplus/l">SnippetPlus</a>, добавляет <a href="http://ru.wikipedia.org/wiki/%D0%A1%D0%BD%D0%B8%D0%BF%D0%BF%D0%B5%D1%82">Сниппеты</a><br /><strong>«как бы про Flash</strong> -плагин <a href="http://sourceforge.net/projects/npp-plugins/files/Function%20List/">Function List</a>, список функций открытого файла.</p><div class="quotebox"><cite>kaster пишет:</cite><blockquote><p>Хм, в uTorrent есть &quot;автокачалка&quot;. Надо просто его настроить на нужный сериал, ну и сам RSS загрузчик настроить с учетом куков.<br />В этой теме разжевано - Как подружить utorrent+rss+lostfilm.tv ?</p></blockquote></div><p>Спасибо за ссылку. Правда говорят: Век живи, век учись. Я писал скрипт под впечатлением <a href="http://habrahabr.ru/blogs/p2p/87042/">статьи с Хабра</a>. Поэтому даже и не подумал искать другие варианты. А так же я хотел, что бы наглядно было видно, появились ли новые серии. Кстати поэтому и добавил еще и обложки на рабочий стол, только чтобы, бросалась в глаза.</p>]]></content>
			<author>
				<name><![CDATA[DnsIs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26282</uri>
			</author>
			<updated>2010-12-01T18:48:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=42381#p42381</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Автокачалка сериалов с LostFilm.tv]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=42378#p42378" />
			<content type="html"><![CDATA[<p>Хм, в uTorrent есть &quot;автокачалка&quot;. Надо просто его настроить на нужный сериал, ну и сам RSS загрузчик настроить с учетом куков.<br />В этой теме разжевано - <a href="http://www.lostfilm.tv/phpbb2.php?page=viewtopic&amp;t=1822">Как подружить utorrent+rss+lostfilm.tv ? <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></a></p>]]></content>
			<author>
				<name><![CDATA[kaster]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24914</uri>
			</author>
			<updated>2010-12-01T16:33:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=42378#p42378</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Автокачалка сериалов с LostFilm.tv]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=42374#p42374" />
			<content type="html"><![CDATA[<p>1) Скрипт должен качать <strong>все</strong> торренты из ленты, содержащие ключевые фразы массива films.<br />2) Скрипт запускается примерно раз в день по требованию или заданию.<br />3) Samurize показывает данные о найденном при последнем срабатывании скрипта.<br />Я правильно понимаю?</p><p>off: А что делают кнопочки «как бы M» и «как бы про Flash» (по обе стороны от next-prev блока) в NP++?<br />В Омске сейчас довольно холодно. Мда...</p>]]></content>
			<author>
				<name><![CDATA[jite]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25851</uri>
			</author>
			<updated>2010-12-01T10:44:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=42374#p42374</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[JS: Автокачалка сериалов с LostFilm.tv]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=42360#p42360" />
			<content type="html"><![CDATA[<p>С женой смотрим Хауса, и постоянно лазить на сайт надоело. Родился скрипт. Пока пашет. Будем ждать глюков. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><div class="codebox"><pre><code>//Скрипт для автоматической скачки сериалов с сайта lostfilm.tv

var WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;);
var fso = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;);

// Настройки ===============================================
// Это JScript, поэтому не забываем в путях дублировать \\
login                = &quot;user&quot;; // логин
pass                = &quot;pass&quot;; // пароль. хранить тут логин и пароль небезопасно
getCookies             = false; // получать куки или нет
delCookies             = false; // удялять ли куки после всех операций
urlAutorization        = &quot;http://lostfilm.tv/useri.php&quot;;
dirSaveTorrent        = &quot;i:\\scripts\\JS Проверка сериалов&quot;; // на эту папку нужно натравить utorrent
dirWork                = WScript.ScriptFullName.replace(WScript.ScriptName,&quot;&quot;);
//dirWork                = Можно указать путь вручную;
fileInfo            = &quot;info.txt&quot;; // файл с текстом для samurize
filePics            = &quot;list.txt&quot;; // файл с изображениями для samurize
fileLog                = &quot;history.log&quot;; // файл лога
fileRSS                = &quot;tmpRSSfile.xml&quot;; // файл полученной RSS ленты
fileCookies            = &quot;cookies.txt&quot;; // название куки-файла
urlRSS                = &quot;http://www.lostfilm.tv/rssdd.xml&quot;;
films                 = [&quot;Доктор ХаУс&quot;, &quot;Обмани меня&quot;];

//========================================================== c:\\Program Files\\Samurize\\Scripts\\

if (!dirWork.match(/\\$/)) dirWork+=&quot;\\&quot;;
fileRSSfull    = dirWork + fileRSS;
fileCookiesfull = dirWork + fileCookies;
fileInfofull = dirWork + fileInfo;
filePicsfull = dirWork + filePics;
fileLogfull = dirWork + fileLog;

if    (getCookies) WshShell.Run(&#039;wget -c &#039; + urlAutorization + &#039; --save-cookies=&quot;&#039; + fileCookiesfull + &#039;&quot; --keep-session-cookies -O nul --post-data &quot;FormLogin=&#039; + login + &#039;&amp;FormPassword=&#039; + pass + &#039;&amp;module=1&amp;repage=user&amp;act=login&#039;, 0, true);

WshShell.Run(&#039;wget -c -t 2 -w 10 &#039; + urlRSS + &#039; -O &quot;&#039; + fileRSSfull + &#039;&quot;&#039;, 0, true);

if (!fso.fileExists(fileRSSfull)) WScript.Quit() // Почему то не скачалось.

xmlParser = new ActiveXObject(&quot;Msxml2.DOMDocument&quot;);
xmlParser.async = false;
xmlParser.load (fileRSSfull);
if (xmlParser.parseError.errorCode)
    {
        //ShowError (xmlParser.parseError);
        WScript.Quit();
    }

items = new Array();
index=0;

colNodes = xmlParser.documentElement;
colNodes  = new Enumerator(colNodes.getElementsByTagName(&quot;item&quot;));
for (colNodes.moveFirst(); !colNodes.atEnd(); colNodes.moveNext())
    {
        e = colNodes.item().selectSingleNode(&quot;title&quot;).text;
        for (i=0;i&lt;films.length;i++)
            {
                if ((e.toLowerCase().match(films[i].toLowerCase())) &amp;&amp; !e.toLowerCase().match(&quot;720p&quot;))
                    {
                        items[index] = new Array(3);
                        items[index][0] = colNodes.item().selectSingleNode(&quot;title&quot;).text;
                        items[index][1] = colNodes.item().selectSingleNode(&quot;description&quot;).text.replace(/:/,&quot;:&quot;).replace(/./g,&quot;.&quot;).match(/http.*jpg/);
                        items[index][2] = colNodes.item().selectSingleNode(&quot;link&quot;).text;
                        index++;
                    }
            }

    }
xmlParser = &quot;&quot;;

fso.DeleteFile(fileRSSfull, 1);
if (delCookies) fso.DeleteFile(fileCookiesfull, 1);

str=&quot;&quot;;img=&quot;&quot;;
if (items.length&gt;0)
    {
        if (fso.FileExists(fileLogfull) &amp;&amp; fso.GetFile(fileLogfull).Size&gt;0)
            {
                txt = fso.GetFile(fileLogfull).OpenAsTextStream(1);
                arr = txt.ReadAll().split(&quot;\r\n&quot;);
                txt.Close();
            }
        else arr =&quot;&quot;;
        for (i=0;i&lt;items.length;i++)
            {
                str += items[i][0] + &#039;\r\n&#039;;
                img += items[i][1] + &#039;\r\n&#039;;
                x = true;                
                if (arr.length&gt;0)
                    {
                        for (j=0;j&lt;arr.length;j++)
                            {
                                if (items[i][2]==arr[j]) {x = false; break;}
                            }
                    }
                if (x)
                    {
                        SaveToFile (fileLogfull, items[i][2], 8);
                        WshShell.Run(&#039;wget -c &#039; + items[i][2] + &#039; --load-cookies=&quot;&#039; + fileCookies + &#039;&quot; -P &quot;&#039; + dirSaveTorrent + &#039;&quot;&#039;, 0, true);
                    }
            }
        SaveToFile (fileInfofull, str, 2);
        SaveToFile (filePicsfull, img, 2);
    }

function SaveToFile (file, text, flag)
    {
        LogFile = fso.OpenTextFile(file, flag, true);
        LogFile.WriteLine(text);
        LogFile.Close();
    }

function eh (text)
    {
        WScript.Echo(text)
    }</code></pre></div><p>Требует<br />Менеджер закачек <a href="http://users.ugent.be/~bpuype/wget/">wget</a><br />Настроенный Торрент клиент <a href="http://www.utorrent.com">utorrent</a><br />По желанию <a href="http://www.samurize.com">Samurize</a><br />Некоторые опции wget:<br />-P, --directory-prefix=PREFIX 			указание нашей папки слежения куда будет произведена загрузка файлов,<br />--keep-session-cookies				ключ для сохранения и записи cookies<br />--load-cookies=FILE					использовать cookies из файла FILE<br />--save-cookies=FILE&nbsp; &nbsp; 				сохранить cookies в файл FILE<br />-t, --tries=NUMBER&nbsp; &nbsp; &nbsp;			 	количество попыток скачавания<br />-w, --wait=SECONDS					пауза между попытками</p><p>Возмоожно так же не использовать файл с куками, а вставить значение полей в командную строку, вот так:<br />--header &quot;Cookie: uid=xxxxxx; pass=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&quot;</p><p>wget использовал потому, что работать с куками посредством JScript не получается. Да и все равно я без wget-а никуда, он у меня всегда с собой. Torrent клиент писать на JS тоже не особо хочется. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Поэтому uTorrent</p><p>Я ко всему прочему использую еще программу <a href="http://www.samurize.com">Samurize</a>, для вывода информации на рабочий стол. Она отлично настраивается и дружит со скриптами.</p><p><strong>Вкраце:</strong><br />wget-ом выкачивается лента новостей в формате xml, из него вытаскиваются фильмы с нужными названиями (массив films).<br />Информация о найденных фильмах идет по клочкам в разные файлы. Лог-файл для того, что бы не скачивать повторно (fileLog). Еще 2 файла для Samurize. В один файл идет текстовая информация для отображения, в другой файл ссылки на обложку фильма.</p><p>В скрипте можно прописать свои Логин и Пароль, но это небезопасно, поэтому лучше пользоваться файлом cookie. Его можно вытащить из браузера, либо получить с помощью wget, что и делается в этом скрипте. Можно единоразово прописать в скрипте свои регистрационные данные, получить cookies, а потом использовать.</p><p>В uTorrent нужно зайти в настройки и натравить слежение за папкой, куда будут складываться Torrent-файлы, и он будет отлично на автомате качать.</p><p><a href="http://rghost.ru/3440699/image.png">Вот так приблизительно это выглядит</a></p>]]></content>
			<author>
				<name><![CDATA[DnsIs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26282</uri>
			</author>
			<updated>2010-12-01T07:10:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=42360#p42360</id>
		</entry>
</feed>
