Показать сообщение отдельно
  #9 (permalink)  
Старый 07.04.2016, 21:15
Аватар для kiberkun
Интересующийся
Отправить личное сообщение для kiberkun Посмотреть профиль Найти все сообщения от kiberkun
 
Регистрация: 30.05.2014
Сообщений: 21

хорошо!
возможно

я как задрот osu!mania решил написать себе скрипт для быстрой загрузки карт. Сам скрипт вот:
// Определяем кол-во страниц в каталоге карт
var all_page = $(".pagination:last a:last").prev().text();
// Начальная страница каталога
var start_page = '1';

// В каждом каталоге по 40 карт
// 1 карта за 3 секунды
// Открываем новый каталог после окончания 40*3 = 120 секунд(Всего 2 минуты, дабы не забанили(ошибка 503) ^_^)
function mapLoad() {
    if (start_page == all_page) {
        clearInterval(DownloadMap);
    } else {
        $.ajax({
            type: "GET",
            url: "/p/beatmaplist", // ссылка на каталог карт
            data: {
                l: "1", // рекомендуемая трудность
                r: "4", // ранг статус (все)
                q: "", // название карты (если пустое, то все названия)
                g: "0", // все жанры
                la: "0", // все языки
                ra: "", // а хз что это за параметр :D
                s: "4", // а хз что это за параметр :D
                o: "1", // а хз что это за параметр :D
                m: "3", // мод osu!mania
                page: start_page // страница
            },
            success: function(data) {
                // создаем массив карт
                var map = [],
                    i = 0;

                // ищим карты и вставляем в массив "map"
                $("a.beatmap_download_link:not(.novid)", data).each(function() {
                    var e = $(this).attr("href");
                    map.push(e);
                });

                var all = map.length,
                    linkDownloadMap = setInterval(function() {
                        if (i == all) {
                            clearInterval(linkDownloadMap);
                        } else {
                            // скачиваем файл
                            window.open(map[i], '_blank');
                            i++;
                        }
                    }, 3000);
            }
        });
        start_page++;
    }
}

mapLoad();

var DownloadMap = setInterval(function() {
    mapLoad()
}, 120000);


Возможно дорабатывать буду)
Ответить с цитированием