Page 1 of 2
Сlipafon
Posted: Tue Oct 02, 2012 9:54 am
by mch
Обновил (урезал) Сlipafon - пока будет так
15.11.2014 - Большое спасибо WendyH
12.06.2015 - Подправлен подкаст (работают клипы только с youtube).
21.12.2015 - Большое спасибо WendyH (работают клипы только с youtube).
22.12.2015 - Подправлен подкаст. Большое спасибо WendyH (работают клипы только с youtube).
Re: Сlipafon
Posted: Wed Nov 12, 2014 4:20 pm
by Robox
при обновлении алфавита, сайт банит айпи, ибо у них в robots для всех параметр 2 секунды, где добавить задержку?
Re: Сlipafon
Posted: Thu Nov 13, 2014 12:33 pm
by mch
Robox wrote:при обновлении алфавита, сайт банит айпи, ибо у них в robots для всех параметр 2 секунды, где добавить задержку?
Честное слово - НЕ ЗНАЮ.
Рекомендации к использованию.
1) На каждой букве алфавита - создание лент подкаста.
2) На каждом исполнителе (отдельно) - обновление подкаста. (Уверен что слушаете не более 10-15 исполнителей)
При таком выполнении меня еще не банили.
Re: Сlipafon
Posted: Fri Nov 14, 2014 4:08 pm
by Robox
порыскал по hms-функциям, не нашел временную паузу, пытался в паскаль-код добавить delay (2000); не фурычит
Re: Сlipafon
Posted: Fri Nov 14, 2014 8:35 pm
by tarzann5
HmsSleep(aMilliseconds: Integer) (окно редактирования скрипта -> Функции -> Транскодирование)
Re: Сlipafon
Posted: Fri Nov 14, 2014 9:54 pm
by Robox
оке. работает.
вставляем: Алфавит - по правой Изменить название - вкладка Скрипты - Скрипт создания подкаст-лент - после: serial(ItemsRegExpr1.Match) вставляем: HmsSleep(2000);
Re: Сlipafon
Posted: Sat Nov 15, 2014 8:03 am
by WendyH
Ну вы чёвсекакэти? Банят по IP потому, как запросов на сайт делается много и сразу. И правильно делают. Не надо лишний раз DDOS-ить чужой сервер. И Crawl-delay в robots.txt тут не причём, это директива для роботов поисковиков - типа просьбы не нагружать, не наседать особо.
Дело в том, что в данном случае вы загружаете страницу со списоком клипов, а потом,
при создании каждой ссылки на клип - загружается опять страница клипа, чтобы оттуда найти ссылку на сам клип с youtube.
- [+] Ведь можно этого не делать.
- Если в подкасте встать на "Алфавит" и нажать Alt-2, в скрипте чтения списка ресурсов превратить строку:
Code: Select all
HmsRegExMatch('href="(.*?)"', aItemDescr, id);
в строку:
Code: Select all
HmsRegExMatch('href="(.*?)"', aItemDescr, sItemLink);
а следующие строки закомментировать (добавить два слеша перед началом):
Code: Select all
//sWebPage := HmsDownloadURL(id) ;
//sWebPage :=HmsUtf8Decode(sWebPage);
//HmsRegExMatch('</b> Нажмите <a href="(.*?)"', sWebPage, sItemLink);
То создание списков клипов у исполнителей будет намного быстрей. При моём варианте - просто создаются ссылки на клипы со значением ссылки на страницу клипа с клипафона. Ну и что, нужно просто перенести команды получения настоящей ссылки в скрипт получения ссылки.
Нажимаем Alt-4 и там в низу добавляем определение нашей переменной, меняем строку после var:
на строку:
а строки:
меняем на:
Code: Select all
end else begin
sWebPage := HmsDownloadURL(mpFilePath);
sWebPage := HmsUtf8Decode(sWebPage);
HmsRegExMatch('</b> Нажмите(.*?)</a></div></div></div>', sWebPage, sWebPage);
HmsRegExMatch('<a href="(.*?)"', sWebPage, mpFilePath);
CreateVideoLinks
end
И всё.
Ну, если в подкасте встать на Новинки и нажать Alt-2, то там строку:
Code: Select all
HmsRegExMatch('href="(.*?)"', aItemDescr, sWebPage);
меняем на:
Code: Select all
HmsRegExMatch('href="(.*?)"', aItemDescr, sItemLink);
а следующие строки комментируем:
Code: Select all
//sWebPage := HmsDownloadURL(sWebPage) ;
//sWebPage :=HmsUtf8Decode(sWebPage);
//HmsRegExMatch('</b> Нажмите(.*?)</a></div></div></div>', sWebPage, sWebPage1);
//HmsRegExMatch('<a href="(.*?)"', sWebPage1, sItemLink);
И новинки будут быстрее создаваться. Аналогичным образом и с "Топ-50" сделать.
А если ещё внимательно посмотреть на скрипт получения ссылки для Youtube, который от Евгения и подметить, что картинка на клип - это всегда ссылка на превью кадр youtube видео, то можно ещё сделать и так. В скриптах чтения списка ресурсов в самом верху после слова const вставить строку:
mpiYoutubeItemID = 141202;
а после строки
Item.Properties[mpiThumbnail] := sItemLink ; //картинка
добавить строку:
HmsRegExMatch('/vi/(.*?)/', Item[mpiThumbnail], Item[mpiYoutubeItemID]);
Тогда в скрипте получения ссылки вообще ничего менять не надо и оставить так, как есть в изначальном скрипте.
Вот.
Re: Сlipafon
Posted: Sat Nov 15, 2014 9:57 am
by Robox
а не легче было файл выложить?

Re: Сlipafon
Posted: Sat Nov 15, 2014 10:27 am
by WendyH
Robox wrote:а не легче было файл выложить?

Ни в коем случае. Никто бы не напрягся, не вдумался, не понял бы фишки. А я ведь не подкаст хочу сделать, а идею донести.
Re: Сlipafon
Posted: Sat Nov 15, 2014 11:53 am
by mch
WendyH wrote:Robox wrote:а не легче было файл выложить?

Ни в коем случае. Никто бы не напрягся, не вдумался, не понял бы фишки. А я ведь не подкаст хочу сделать, а идею донести.
15/11/2014 - Большое спасибо WendyH